Henry unleashed an unstoppable 30-yard drive to cancel out Billy Paynter's first-half opener.
Millwall had the better of a largely dismal first period which only burst into life in the final few minutes before half-time. Adam Bolder had an early chance to put the Lions in front but he headed straight at Swindon keeper Peter Brezovan.
Then in the 40th minute Jimmy Abdou headed a Neil Harris cross goalwards but Brezovan saved with his knee. Just two minutes later, Swindon took the lead with their first real chance. Michael Timlin's left-footed free-kick found Paynter completely unmarked in the six-yard box and he headed past David Forde.
The second half was little better although in the 78th minute Tony Craig's chipped free-kick forced another good save out of Brezovan.
The Robins had been denied by a late leveller at Leicester at the weekend but looked to be holding on for the win until Henry's late strike.