Italy shocked pre-tournament favourites Serbia to reach the men's water polo final in which they will face Croatia.
Valentino Gallo netted a hat-trick as Italy won 9-7 as they gained revenge for a 2011 World Championship defeat.
Croatia will try to stop Italy winning their first Olympic gold for 20 years after they maintained their unbeaten run with a 7-5 win over Montenegro.
Goalkeeper Josip Pavic was in top form while Sandro Sukno scored twice to seal a place in Sunday's final (15:50 BST).
European champions Serbia will face Montenegro in a repeat of the 2008 Beijing bronze medal match, which the former won.