The Robins were without the suspended Gordon Greer, while Stephen Darby dropped to the bench, with Kevin Amankwaah and Alan Sheehan handed stars.
Millwall boss Kenny Jackett brought in midfielder Shaun Batt for defender Jack Smith and the Lions enjoyed the better of the early exchanges, with Town keeper David Lucas being forced to tip over a Neil Harris chip.
Lucas then came out bravely to deny Steve Morison, before the Millwall striker lifted a chip narrowly over the crossbar after lofting the ball over the advancing Robins keeper.
An offside flag rescued Swindon when Amankwaah headed into his own net, but there was no escape six minutes before half-time when Danny Schofield's corner from the left fell to Robinson and he hooked the ball home from six yards out.
The half finished with the busy Lucas denying Harris, as Millwall ended the first 45 minutes well on top.
Town started the second half much brighter than they had the first, with Robinson making a vital clearance after good work by Jonathan Douglas and Jon-Paul McGovern.
However, the Lions responded with both Morison and Schofield going close, before Town's Jean-Francois Lescinel failed to get any power behind a header to trouble David Forde.
Both managers decided to make changes as the game entered the final 20 minutes, before a mistake by Robinson appeared to let in Charlie Austin.
However, the highly-rated Robins striker shot horribly wide with only Forde to beat, with the Wembley pitch serving up an unwelcome bobble at a crucial moment.
Lucas again denied Morison as time ran out, but it mattered little as Millwall were able to celebrate a place in the Championship at the final whistle.