Wilfried Zaha struck late on as Ivory Coast beat Mali 1-0 to set up an Africa Cup of Nations quarter-final with Algeria.
The first half was a poor affair in which few chances were created. Sylvain Gbohouo started his match by dropping a cross but made a couple of decent saves to deny Abdoulay Diaby and Moussa Marega from set pieces.
The best chance of the half fell to Marega, who sent a shot from close range wide after being set up brilliantly by Moussa Djenepo.
Africa Cup of Nations Qualification
Diallo makes senior Ivory Coast debut as nation qualify for AFCON
At the other end, Ivory Coast's front line were forced to feed on scraps as their side's main game plan was to hoof it forward.
The first big chance of the second half also fell Mali's way. Marega dissected the Ivorian defence and found Djenepo, who hesitated and then scuffed his shot when he should have at least tested Gbohouo.
Kodjia similarly did not take advantage of a golden opportunity for Ivory Coast. The long ball finally paid off as the Aston Villa striker found himself one-on-one but he sent his effort wide.
The goal came from a similar source as Zaha latched on to a long free kick from Gbohouo. The goalkeeper rushed off his line but the Crystal Palace forward slotted it under him to break the deadlock.
That solitary strike proved enough. In a low-quality match, the most talented player on the pitch settled the game with a fine finish.
PLAYER OF THE MATCH – Wilfried Zaha (Ivory Coast)
This was a match of low quality but it was decided by arguably the most natural talent on the pitch. Zaha was a frustrated figure up top for much of the match but came up with a quality finish in a match of few clear-cut chances.
Mali: Diarra 6, Traore 6, Kone 6, Fofana 7, Wague 5, Coulibaly 5, Haidara 5, Samassekou 6, Djenepo 6, Diaby 7, Marega 7
Ivory Coast: Gbohouo 5, Bagayoko 5, Coulibaly 5, Kanon 6, Traore 6, Gbamin 5, Die 5, Kessie 5, Pepe 5, Zaha 5, Kodjia 5
TALKING POINT – what do these two teams want tactically?
This was a game of low quality from which neither arguably deserved to emerge victorious. Mali were far too trigger happy in shooting from distance, wasting good positions. The only moments of quality they produced were when a quick winger ran at a centre-back. The Ivorians seemed happy to use Kodjia's physicality, hoof it up to him and hope for the best.
Ivory Coast remain unbeaten against Mali in competitive meetings.
42' - We've had our best chance of the match so far. Djenepo makes an excellent run down the left and squares it for the unmarked Marega, who sends his shot wide when he should have scored.
53' - That's a big miss. Marega plays a lovely ball into the channel for Djenepo, who runs in on goal. He's one-on-one but clearly caught in two minds. When he eventually shoots, he barely makes contact with the ball.
67' - What. A. Chance.
The long ball finally pays off for Ivory Coast as Kodjia is played in behind. Diarra stumbles as he comes off his line but the Aston Villa forward still manages to put his shot wide. That's the best chance Ivory Coast have had by a long, long way.
76' - GOAL!!
Zaha has done it! Gbohouo hoofs up a free kick from the back which evades the whole Mali defence. Zaha is there and slots it underneath the onrushing goalkeeper.
Africa Cup of Nations
Algeria beat Ivory Coast on penalties to reach the AFCON semis
Africa Cup of Nations
Angola out of Africa Cup of Nations after Haidara's stunning strike for Mali