Andres Iniesta scored with four minutes of extra time remaining to give Spain a 1-0 win over the Netherlands and a first World Cup title.
With the teams facing a penalty shootout in a game of few clear chances, Iniesta collected a sliding pass into the area from substitute Cesc Fabregas and smashed the ball across goalkeeper Maarten Stekelenburg.
Spain had the best of the play in a bruising game in which nine players were shown yellow cards by English referee Howard Webb in the first 90 minutes, a World Cup final record.
Dutch defender John Heitinga was sent off for a second yellow in the second half of extra time, which also saw the Dutch furious at not being awarded a clear corner from a deflected Wesley Sneijder free kick moments before Iniesta's strike at the other end.
Neither team has won the World Cup before, though the Dutch were playing in their third final.
"It is very sad. These three or four final minutes and then you lose," Dutch coach Bert van Marwijk said.
"I really had thought even with 10 [men] we would be able to do the penalty shoot out.
"It is bitter but that is sport. It is harsh."
The game need never have gone to extra time had a brilliant save from Spanish captain and goalkeeper Iker Casillas not denied Arjen Robben.
"We could have scored another goal or two. But I think the result was deserved. It's a very happy day for me"
Vicente del Bosque, Spain head coach
In the 62nd minute, Robben took a through ball from playmaker Sneijder and went one-on-one with Casillas, who stuck out a boot to send the Dutchman's goalbound shot wide.
Before that, it was Spain that had the best chances to take the lead.
Defender Sergio Ramos sent a header from Xavi Hernandez's cross on target, but goalkeeper Stekelenburg made the save in the fifth minute.
Spain striker David Villa's left-foot volley from Xabi Alonso's cross then hit the side-netting in the 12th.
The match was not pretty for much of the time, with the Dutch committing 28 fouls and the Spanish contributing 19.
The worst came in the 28th when Netherlands midfielder Nigel de Jong was lucky to escape with only a yellow card after kicking Alonso in the chest while going for a ball.
Pedro Rodriguez, who was starting in place of Fernando Torres for the second straight match, also had a chance for Spain after running through the middle in the 38th minute, but his shot went wide.
It was left for Iniesta to provide the only killer touch of the night after nearly two hours of football.
His goal sparked euphoric scenes as the Spanish team and bench raced after Iniesta into the corner of the Soccer City stadium to celebrate while the Dutch stood stunned.
It was the first time the European champions had reached a World Cup final and a bitter disappointment for the Netherlands who finished runners-up for the third time after previously losing the 1974 and 1978 finals.
It was also the first victory by a European side outside their continent.
But the game was far from the classic final hoped for from the two most impressive teams in the tournament and was for large stretches a sterile stalemate.
Spanish coach Vicente del Bosque told television: "It was a very difficult match. we have fantastic players. We could have scored another goal or two. But I think the result was deserved. It's a very happy day for me."