The winning ticket of the top prize, numbered 79140, was drawn at 12.13 pm and then announced in song by students from Madrid's San Ildefonso school.
Each year Spaniards go crazy for the lottery, with some 75 percent of the population participating in a game that gives 1:6 odds of winning something.
But this year, the big prize was a ticket sold in the seaside resort of Roquetas de Mar, in the Almeria region of Andalusia.
The two schoolgirls who sang out the winning number in a televised event from the Madrid's Teatro Real opera house,were Lorena Stefan and Nicol Valenzuela.
Those who bought the winning ticket, a number sold exclusively from a lottery shop located at number 19 on Avenida de Roquetas, will each take a share of the €640 million top prize.
People usually club together buying a tenth of a ticket – un decimo – each for €20 so that whole groups of friends, family or work colleagues end up with the same number.
Those lucky decimo holders in Roquetas de Mar, a town with a population of 90,000, will enjoy a win of €400,000.
Spain's state lottery estimates that in 2015 each Spaniard will spend, on average, €62.72 on Christmas lottery tickets.
Other lotteries have larger individual top prizes but El Gordo is ranked as the world's richest, handing out a total of €2.2 billion ($2.4 billion) this year in millions of prizes.