In a winner-takes-all clash for the runners-up spot in Group D behind Serbia, McClean hammered home just after half-time as Ireland put on a defensive masterclass to deny the 2016 European Championship semi-finalists, who had not lost at home in four years.
The result means Gareth Bale, who was missing through injury, and his team-mates will spend a summer at home while Ireland can look forward to a two-legged play-off for a place in Russia.
Martin O'Neill's side find out their opponents next Tuesday.