Asamoah Gyan missed from 12 yards right at the death, before Uruguay keeper Fernando Muslera blocked efforts from John Mensah and Dominic Adiyiah to set up shootout success.
The South Americans made the brighter start, with Diego Forlan looking lively and dangerous from set-pieces.
- Uruguay v Ghana: As it happened
After 18 minutes his corner kick from the left was touched on by Edinson Cavani and deflected off Mensah, before hitting Ghana keeper Richard Kingson in the face and rebounding to safety.
Eight minutes later Kingson came to his side's rescue with a stunning tip-over save, after Luis Suarez rolled off his marker from a left-wing throw-in and lashed in a right-foot shot from the edge of the area.
On the half-hour mark the Black Stars almost hit the front as Isaac Vorsah met a right-wing corner with a fierce header from eight yards, which whistled inches past the far post with Fernando Muslera clutching at thin air.
The deadlock was broken right on half-time as Sulley Muntari picked up the ball all of 35 yards out and his low, left-foot drive swerved away from Muslera and into the back of the net.
Ten minutes after the restart Uruguay drew level as Forlan took a free-kick from just outside the left edge of the area and bent a right-footer around the wall and out of the reach of Kingson, who was caught out moving the wrong way.
Shortly after the hour mark Forlan drove over a superb cross from the left and the unmarked Suarez volleyed wide of the far post from a tight angle.
Suarez threatened again 19 minutes from time when he toe-poked a firm shot towards the near post and Kingson stood firm to tip the ball over the crossbar.
Seven minutes later Forlan's free-kick was flicked on by Suarez and Kingson had to push the ball away from the base of a post.
That proved to be the final major chance as a tense tussle headed into extra-time.
The first period of extra-time threw up no further chances, although Uruguay could have had a penalty when sub Sebastian Abreu went down under the challenge of John Paintsil.
The second extra 15 minutes was the same until the dying seconds, when chaos in the Uruguay area ended with Suarez beating a shot off his own line with his hands and conceding a penalty, before being red-carded.
However, Gyan's moment of triumph turned to misery, as he smashed the last kick of the game against the crossbar and out for a goal-kick, meaning that a shoot-out would decide the winner.
The shootout then went Uruguay's way as Mensah and Dominic Adiyiah had efforts saved by Muslera and Abreu's cheeky lobbed spot-kick set up a semi-final clash with the Netherlands.