Stuart Powell hit the jackpot on the EuroMillions UK Millionaire Maker draw almost four years to the day of his previous Lotto win.
The father-of-three said he did not intend to buy a ticket for that day.
"The lady in the shop got her dates mixed up and I'm so glad she did," said the 50-year-old.
Mr Powell from Featherstone, South Staffordshire, said he will give all the money to his wife Denise, 44 and their three sons, Matthew, 26, Adam, 25 and Nathan, 20.
Back in 2011 Mr Powell matched five numbers and the bonus ball on the Lotto.
The latest win came via a Millionaire Maker code on a lucky dip ticket.
It was secured after a shop assistant at the Co-op, Boley Park, Lichfield, sold Mr Powell a ticket for 24 November - not 20 November as requested.
He said: "I won £55,464 on 30 November 2011, my birthday, and gave all of it away to my children and wife. I intend to do exactly the same with this million.
"I'm going to buy the kids a house each and my elderly father a car. Denise wants a Range Rover Evoque and me, well, I'm not bothered as long as they are happy."
The couple had already booked to go to Lanzarote to celebrate his 50th birthday so they hid the winning ticket in their safe while they were away.
Mr Powell said it was only on their return that they collected the cheque and the dream became a reality.
He said: "The timing couldn't be better with Christmas around the corner. Maybe when I sit at the table on Christmas Day it may start to sink in. To think I have won twice…it's just unbelievable…the stuff of dreams!"
A lottery-winning lorry driver has struck lucky for the second time - scooping £1m four years after he won £55,000.