Asamoah Gyan scored the only goal to help a well-organised Ghana book their place in the African Nations Cup final with a battling victory over regional rivals Nigeria.
The only goal came midway through the first half when a Kwadwo Asamoah corner caught out the napping Super Eagles defence and the in-form Rennes striker applied the finishing touches.
It was one-way traffic thereafter as wasteful finishing from their opponents, coupled with some dogged defending and some especially solid goalkeeping from Wigan goalkeeper Richard Kingston, helped the four-time former winners seal a place in the final for the first time since 1992.
They will now face either Egypt or Algeria in Sunday's final.
Milovan Rajevac's team, without more than five of their regular players through injury, were cautious throughout the 90 minutes, though.
Nigeria were guilty of some poor finishing with Obafemi Martins, starting for the first time in the competition, one of the main culprits.
He almost handed his side the perfect start after playing a neat one-two with Peter Odemwingie on the left, but defender Hans Sarpei did just enough to put the Wolfsburg striker off his stride.
After the fast start, the pace then slowed as the Black Stars struggled to force their way into the game against their more experienced opponents.
However, they stunned the Super Eagles into silence in the 21st minute with a goal that came completely against the run of play - Gyan's run to the near post catching the defenders off guard as he met Asamoah's corner with a powerful headed finish.
The Rennes striker almost doubled the advantage shortly after with a cleverly attempted 20-yard lob that flew inches over Vincent Enyeama's goal.
Just before the half-hour mark Martins had the best opening for his side when Odemwingie's shot from outside the box deflected into his path, but the final 12-yard shot was too close to goalkeeper Kingston, who did excellently to push the ball wide.
The Lokomotiv Moscow forward should then have done better after finding himself with a free six-yard header created by Uwa Echiejile's pin-point pass from the left, which was nodded wide.
And Odemwingie was guilty of another wasted chance on the stroke of half time when the ball came to him inside the box, but was mis-hit woefully off target.
It remained 1-0 to Ghana at the break and the Nigerians continued to pile on the pressure after the restart.
And Shaibu Amodu's men were almost gifted an instant way back in when Odemwingie's attempted pass was almost deflected into his own goal by Lee Addy, but for the intervention of Kingston.
They continued to press but failed to make the most of half-chances with Chinedu Obasi and John Obi Mikel both coming close through half-chances, before Martins missed another excellent chance - he was played into the box by a splendidly weighted pass from his Chelsea team-mate, only for Kingston's right hand this time to come to the rescue.
With 20 minutes to go, Amodu decided to throw in Yakubu Aiyegbeni, who had an instant chance to score when he was put in six-yards out by another substitute Victor Obinna - the ball, though, which came quickly was skied into the crowd.
Martins again found himself in on goal seconds later, but for third time in the game the real chance went before it actually came.
With 10 minutes to go, the anxiety began to show amongst the Nigerians as Ghana looked happy to sit back on their one-goal lead.
They tried desperately to draw level, but it was not to be - the best chance of the closing stages coming when Sani Kaita fired wide - as Ghana claimed the bragging rights from west Africa.