For two players, you need games where the players can directly influence each other, otherwise it gets boring pretty quickly. Asymmetrical game mechanics are worth their weight in gold here - so if each player has different abilities or goals, it stays exciting until the end.
Chess and Go are of course the classics, but if you prefer something more modern: Jaipur is super intuitive to learn and still tactically interesting - it's about trading goods and who has more points at the end. Ark Nova or Spirit Island are more intense, but also come with significantly more rules. If you'd rather play something short between other activities, card games like The Foxes of Seattle can be really gripping without having to learn rules for half an hour beforehand. Codenames Duet also works well for two players if you'd rather play cooperatively instead of against each other.
The most important thing really is: try out a round beforehand if possible. Some games look great on paper, but the flow just doesn't work. And with two-player games you quickly figure out whether you're laughing together or sitting frustrated on the couch.