Senegal are through to their third Africa Cup of Nations final with Sadio Mane on target to help them overcome Burkina Faso.
In an eventful game, VAR chalked off two Senegal penalties, with Burkina Faso goalkeeper Herve Koffi injured during the events of the first.
Abdou Diallo and Idrissa Gueye put Senegal in charge before Blati Toure narrowed the deficit late on.
But Mane chipped in to settle victory for the tournament favourites.
It was Mane’s 29th goal for his country, taking him level with Henri Camara at the top of their all-time scorer list.
Senegal will face Egypt or hosts Cameroon in Sunday’s final (19:00 GMT).
Burkina Faso will take part in the third/fourth-place play-off, which has been brought forward a day to Saturday (also kicking off at 19:00).
“It shows you the momentum we have,” said Mane. “We knew it was not going to be at all easy to get to two straight Afcon finals, but the most important for us now is to go all the way and win it, whoever we come up against.
“We were up against a really good Burkina side who caused us a lot of problems.
“We expected a tough game and it was, but we stayed calm and created lots of chances. I think we deserved to win.
“I think you can see on my face how happy I am, which is completely normal. I am really proud personally and very happy for myself, my team-mates and the country.”
Superior Senegal break Burkina Faso’s stubborn resolve.
Just four minutes into the game at the Ahmadou Ahidjo Stadium in Cameroon’s capital Yaounde, there was a serious clash of heads following a fully-committed 50-50 challenge between Nampalys Mendy and Cyrille Bayala.
It set the tone for what would be a full-blooded and fiercely-contested last-four clash between two sides who have both reached the final of this competition in the past but never won it.
Senegal are the highest ranked side in Africa – 20th in Fifa’s global list – and their extra class ultimately told.
They were teased with the opportunity to open the scoring twice before the break, with Koffi’s aerial clash with Cheikhou Kouyate and Edmond Tapsoba’s elbow-block on Idrissa Gueye both adjudged to be penalties on the field.
But both were correctly overturned by referee Bamlak Tessema Weyesa after he had been called to view them on the monitor by the video officials.
There was still a cost to Burkina Faso, with Koffi forced off hurt in the 36th minute after awkwardly landing on Crystal Palace midfielder Kouyate as he tried to punch clear.
That they took the contest so deep is a tribute to their fortitude and a defiant performance that gave the favourites more than one scare, mainly via the direct running of Aston Villa’s Bertrand Traore.
After Idrissa Gueye had slotted in to make it 2-0 in the 76th minute – six minutes after Diallo’s finish following a corner – Kamou Malo’s side could have wilted.
But Toure gave them brief hope with his 82nd-minute effort, before Senegal talisman Mane fittingly had his say on the occasion with a driving run and chipped finish three minutes from time.
It leaves the tantalising prospect of a final showdown with his Liverpool team-mate Mohamed Salah if Egypt reach the final – a game in which Mane will be looking to break his country’s goals record in fine style.
‘Mane has no ego at all’
Former Nigeria striker Efan Ekoku, speaking on BBC Three:
Sadio Mane plays like a guy who is 18, 19 all the time. He has a real desire.
He has real unselfishness and when he plays for his country there is no ego at all.
He is one of my favourite all-time players in world football, I can’t think of anyone else I would want in my team.