Radja Nainggolan gave Belgium a 13th-minute lead, but Ashley Williams equalised before a dazzling strike from Robson-Kanu, whose contract with English second-tier club Reading expired on Thursday, and a late header by substitute Sam Vokes earned Wales a historic victory.
Wales talisman Gareth Bale will now go head-to-head with his Real Madrid team-mate Cristiano Ronaldo when the tournament’s last British representatives face Portugal in Lyon on Wednesday.
In beating Belgium, who they also defeated in qualifying, Chris Coleman’s men surpassed the Wales greats of 1958, whose quarter-final showing at that year’s World Cup in Sweden had been the country’s best previous achievement.
But they will have to do without both Ben Davies and Aaron Ramsey, who set up two of the Wales goals, after they received bookings that ruled them out of the semi-final.
Belgium coach Marc Wilmots will face difficult questions about his failure to achieve more with one of his nation’s finest collections of footballers, who also fell in the last eight at the 2014 World Cup.
He was missing three of his four first-choice defenders – Vincent Kompany and Jan Vertonghen through injury, Thomas Vermaelen through suspension – but with no other previous tournament-winners in this half of the draw, defeat represented a massive missed opportunity.
Heavy pre-match downpours in Lille heightened fears about the pitch, which was relaid just a week ago, but the slick playing surface held firm and provided the platform for an electrifying game.
Inside the first 10 minutes, Yannick Carrasco, Thomas Meunier and Eden Hazard had all gone close for Belgium, while Romelu Lukaku failed to make telling contact with a deep Kevin De Bruyne corner.
Robson-Kanu headed over for Wales and Bale hit the side-netting, but in the 13th minute Belgium went ahead when Nainggolan met Hazard’s lay-off with a blistering 30-yard shot that whistled into the top-left corner
Welsh indiscipline at the back was costing them as Davies, James Chester and Chris Gunter all picked up bookings, the former’s yellow card ruling him out of the semi-final.
But their reaction to falling behind was exemplary and after Neil Taylor had been denied by Thibaut Courtois, Williams met Ramsey’s right-wing corner with a thumping downward header to equalise.
The Swansea City centre-back, criticised for some shaky group-stage displays, was a picture of joy, racing down the touchline to embrace Coleman and the Wales coaches and substitutes.
The goal seemed to unsettle Belgium and Wales ended the first half on top, with Williams heading another Ramsey corner over the bar and Courtois fielding Bale’s low shot and a Robson-Kanu header.
Wilmots stiffened his midfield at half-time, sending on Marouane Fellaini for Carrasco, and his side made a flying start to the second period, with Lukaku, De Bruyne and Hazard all narrowly missing the target.
But it was Wales who scored next with a 55th-minute goal that lit up the tournament.
Ramsey’s lofted cross from the right found Robson-Kanu, who took Thomas Meunier, Fellaini and Jason Denayer out of the game with a sublime Cruyff turn before planting a shot past Courtois.
In a taut finish to the game, Fellaini and Ramsey also received suspension-incurring bookings, the latter tarnishing perhaps his best ever Wales performance with a needless handball.
Belgium huffed and puffed, Fellaini heading wide and Williams being very fortunate to avoid conceding a penalty for catching Nainggolan, before Vokes delivered the coup de grace with a stunning header from Gunter’s cross.