The winning number - 79140 - appeared on 1,600 tickets in the town, with each now worth €400,000.
Second-prize winners included ticket-holders in Seville and Granada.
El Gordo is the world's biggest Christmas lottery, and the live televised draw grips the nation.
As is customary, the winners' numbers, revealed on wooden balls, were sung by a group of children at Madrid's Royal Theatre.
The lottery has taken on special importance as Spain as it struggles with high unemployment and austerity measures.
The Almeria province was badly hit when the country's massive property boom turned sour.
Jose Juan Rodriguez, deputy mayor of Roquetas de Mar, told state-owned broadcaster RTVE that the windfall would be a huge boost to the town's economy.
The town has an unemployment rate of over 30% - higher than the national average of 21% - and tourism and agriculture are the main industries.
Unlike many other lotteries, there is no single jackpot in El Gordo. Instead the winnings are distributed among thousands of people.
People traditionally chip in together and buy shares of several or many tickets among friends, families or workmates in one of the most popular Christmas customs in Spain.
Organisers said they would be handing out a total of €2.2bn this year.
The second prize was worth a total of €1.25m and the third prize 500,000.
Ticket-holders in the coastal town of Roquetas de Mar are celebrating after they won first prize - and a share of €640m (£470m) - in Spain's traditional "El Gordo" (The Fat One) lottery.