Bobby Beattie, 32, popped the question to Laura Meikle, 27, at Braehead shopping centre near Glasgow after months of planning. Hired performers danced to the Bruno Mars song Marry You before he got down on one knee.
His girlfriend, from Bridgeton, Glasgow, said: "I recognised the song … I thought 'someone is going to get a proposal', but never for a minute thinking it was me."
The couple have a one-year-old daughter. Mr Beattie said "I always said if I was ever going to propose I would do it in a big way."
Pictures: Jeff Holmes