Twenty-four minutes later, Robson-Kanu gave Wales a 2-1 lead before Sam Vokes scored again for the Dragons in the 85th minute in what commentators said was one of the "greatest performances" in the history of Welsh football.
Wales will now face Portugal for a place in the finals in Lyon next Wednesday.
Kanu said the victory was "hard to describe".
Advertisement
He added: "It is something we've worked so hard for... to be where we are now is a credit to everyone involved."
Williams said the victory was "hard to take in", while manager Christopher Coleman said the team was "not afraid to dream, not afraid to fail".
Paula Hart, 41, from Swansea, said: "It's just been immense. The Belgian fans have been the best, so fair play to them.
"I'm now thinking about the final. Portugal haven't been great so why not start thinking about it?"
Neil Davies, 49, from South Wales, said Wales had played "brilliantly" and he had tears in his eyes at full time, the Press Association reports.
He said: "I thought if Belgium went 1-0 up then that would be it. They did and I thought that's us done. To come back the way we did - unbelievable."
Advertisement
The side will now go on to Lyon to face Portugal in the semi-final.
ASSOCIATED PRESS
Belgium's Radja Nainggolan, center, number 4, celebrates with teammates after scoring his side's first goal.
ASSOCIATED PRESS
Wales' Hal Robson Kanu, left, and Belgium's Jason Denayer vie for the ball.
ASSOCIATED PRESS
Wales supporters react after Belgium's Radja Nainggolan scored the opening goal.
Wales' Ashley Williams, left, heads to score the equalizer during the Euro 2016 quarterfinal.
ASSOCIATED PRESS
Wales' Ashley Williams, foreground, celebrates scoring an equaliser.
Advertisement
ASSOCIATED PRESS
Wales players celebrate after scoring their first goal.
ASSOCIATED PRESS
ASSOCIATED PRESS
Advertisement
ASSOCIATED PRESS
Belgium's Romelu Lukaku, left, and Wales' Joe Ledley jump for the ball.
ASSOCIATED PRESS
Wales' James Chester, Ashley Williams, Joe Ledley and Gareth Bale and Belgium's Axel Witsel, Jason Denayer and Jordan Lukaku, from left, wait for a corner to be kicked.
ASSOCIATED PRESS
Wales' Neil Taylor, left, and Belgium's Kevin De Bruyne challenge for the ball.
Advertisement
ASSOCIATED PRESS
Wales' Gareth Bale, left, challenges for the ball with Belgium's Radja Nainggolan.
ASSOCIATED PRESS
Wales' Hal Robson Kanu, center left, scores Wales' second goal past Belgium goalkeeper Thibaut Courtois.
ASSOCIATED PRESS
Wales' Hal Robson Kanu, left, celebrates after scoring.
Advertisement
ASSOCIATED PRESS
Sam Vokes, left, scores Wales' third goal past Belgium goalkeeper Thibaut Courtois.
ASSOCIATED PRESS
Wales' Sam Vokes celebrates after scoring Wales' third goal.
ASSOCIATED PRESS
Wales' Gareth Bale, Neil Taylor and Joe Allen celebrate after winning 3-1.
Advertisement
ASSOCIATED PRESS
Wales' Sam Vokes, right, celebrates with his teammates.