Italy's Clemente Russo has beaten Azerbaijan's Teymur Mammadov to reach his second successive Olympic final.
Mammadov shaded a tight first round by one point. He stepped up a gear in the second and bombarded the Italian with some devastating body punches.
Russo was forced down twice after feeling the effect of the energy-sapping blows, but managed to hang on as the Azeri applied the pressure.
The Italian trailed by three in the final round but got through with a terrific left hand that just dipped Mammadov's knees.
Mammadov was beginning to tire and his legs were now looking weary. Russo was all over him and found the target with some body shots of his own.
The referee was forced to step in and issue Mammadov with a standing count as he struggled to repel Russo as he desperately advanced.
Russo's comeback was completed when the judges announced him a 15-13 winner.