Veteran striker Vincent Aboubakar was in the centre of a Cameroon fight back as they drew 3-3 with Serbia to kept their hopes reaching the World Cup last 16 alive.
They now must at least avoid defeat against Brazil in their last Group G and depend on other results to book their passage into the round of 16.
Jean-Charles Castelletto put Cameroon ahead but Strahinja Pavlovic and Sergej Milinkovic-Savic replied to give Serbia a half-time advantage.
Aleksandar Mitrovic added a third for Serbia and they looked to be cruising to a win that would have put them in a strong position to progress.
However the Indomitable Lions roared back thanks to Aboubakar’s superb lob and Eric Maxim Choupo-Moting’s equaliser three minutes later.
Mitrovic curled a shot wide in the closing moments after being teed up by Dusan Tadic.
In arguably the tournament’s most entertaining game so far, Serbia started brightly and Mitrovic twice went close to giving his side the lead. The Fulham striker hit the post before flashing a shot wide after the ball fell kindly to him in the box.
Cameroon went into their game against Serbia knowing they will be eliminated from the World Cup with a game to spare if they lose and Brazil avoid defeat against Switzerland later on. Their final Group G fixture is against Brazil on Friday.