Luke Campbell is guaranteed an Olympic medal after beating Bulgaria's Detelin Dalakliev in his bantamweight quarter-final at the ExCeL Arena.
The Hull southpaw, 24, was one point behind going into the final round but kept his composure to pip his rival 16-15.
Campbell will fight Japan's Satoshi Shimizu in the last four.
Ireland's Joe Nevin could still meet Campbell in the final after beating Mexico's Oscar Fierro Valdez 19-13.
"It feels fantastic, I've worked all my life to get to this point, made sacrifices, stayed disciplined, but this makes it all worthwhile," said Campbell.
"He was trying to spoil me, holding a lot, but I just had to keep calm and let the punches go. The right guy won in the end.
"But this is just the start, I'm here for gold. I want to win that final and bring a gold medal back to my little boy.
"This is the most memorable night of my career, the Olympics only come around every four years and I'm just so proud of myself."
Campbell, who is the first British boxer into the semi-finals, was one point down after the first round and after the second, despite landing with left hands almost at will.
But he remained focused in the final three minutes and did just enough to overturn Dalakliev's lead, although he appeared to win it by a far greater margin.
Shimizu was the boxer who lost his second-round fight against Magomed Abdulhamidov, despite knocking the Azerbaijani down five times, only to have
Nevin will first have to first get past Lazaro Alvarez, who beat Campbell in the final of last year's World Championships.
Alvarez had a shaky first round against Brazil's Robenilson Vieira de Jesus but by the third round the Cuban could not miss with his ram-rod left cross.
In a classic stylistic match-up, the 23-year-old Nevin was too smart for his rugged opponent, dazzling with tremendous movement and hand speed.
Nevin took a knee in the third round after a brutal body shot from Valdez but held on for a well-deserved victory.
There was more controversy in the heavyweight division, with Belarus' Siarhei Karneyeu lingering in the ring in tears after his quarter-final defeat by Azerbaijan's Teymur Mammadov.
Mammadov beat Karneyeu on countback despite repeatedly holding during the fight, before Italy's Clemente Russo beat Cuba's Jose Larduet 12-10 using similar tactics.
The Belarusian and Cuban teams immediately lodged appeals which will be reviewed by the International Amateur Boxing Association (AIBA).
After Larduet's defeat, Karneyeu intercepted him on the way from the ring and held up his hand in an act of solidarity.