Ghana, Africa's last survivors at the tournament, had forced two-time champions Uruguay into extra-time after a spirited performance by Milovan Rajevac's team.
Yet the Black Stars will rue the chance they failed to take at the end of the extra-time which presented them with a perfect chance to become the first African side to make it to the last four.
With seconds remaining, Portuguese referee Olegario Benquerenca pointed to the spot after Uruguay striker Luis Suarez used his hand to keep out Dominic Adiyiah's goalbound effort.
With a continent holding its breath, up stepped Asamoah Gyan, who had scored in three of Ghana's previous four games, to thunder his effort against the bar.
With no more time left, the tie was settled by penalties, with Uruguay triumphing 4-2 after keeper Fernando Muslera kept out efforts by Ghana captain John Mensah and Adiyiah.
Uruguay's Maximiliano Pereira also missed from the spot but Abreu, a 76th minute substitute, held his nerve to ensure the South Americans face the Netherlands in Cape Town next Tuesday to decide who goes on to the final.
The only negative for Uruguay is that they will be without Suarez, who has scored three times at South Africa 2010, following his red card.
Yet they will still be confident of edging past the Netherlands despite a nervy performance against Ghana.
The South Americans made the brighter start as Suarez was denied his fourth goal of the tournament after cutting in from the left and firing straight at Richard Kingson in the 10th minute.
The former Birmingham stopper, ditched by Wigan after failing to cement a regular place, saved his side with a fine 18th minute reflex save from team-mate Mensah following a corner.
Ghana, with victories over Serbia and the USA behind them, were struggling to stamp their authority as the dangerous Diego Forlan went close from 20-yards in the 25th minute.
Kingson was the busiest man on the pitch and the Black Stars keeper produced a stunning finger-tip save in the 26th minute to frustrate Suarez before Ghana awoke from their slumber.
Twice inside a minute they carved out goalscoring chances - Issac Vorsah heading a great opportunity wide after leaping above Diego Lugano.
Seconds later Portsmouth's Kevin-Prince Boateng powered forward from midfield before teeing-up Gyan to fire narrowly wide from 18-yards.
Then like a bolt from the blue, Sulley Muntari pounced on a loose ball 35-yards from goal before unleashing a speculative low shot that surprised keeper Muslera - and left a nation in dreamland.
Yet Diego Forlan turned party pooper with a sublime free kick in the early stages of the second half before the real drama of the shoot-out unfolded.
Uruguay (4-3-1-2): Muslera; Lugano (Scotti 37), Victorino, M Pereira, Fucile; Perez, Arevalo, Cavani (Abreu 76); A Fernandez (Lodeiro 46); Suarez, Forlan.
Subs (not used): Castillo, Silva, Godin, Caceres, Gargano, Eguren, A Pereira, Gonzalez, S Fernandez.
Ghana (4-5-1): Kingson; Pantsil, Mensah, Vorsah, Sarpei; Annan, KP Boateng, Inkoom (Appiah 73), Muntari (Adiya 88), Asamoah; Gyan.
Subs (not used): Agyei, Ahorlu, Addy, D Boateng, Appiah, Ayew, Owusu-Abeyie, Tagoe, Amoah.
Referee: Olegario Benquerenca (Portugal)