Italy defeated favourites Serbia 9-7 in the semi-finals, while Croatia beat Montenegro 7-5 to win a place in the gold medal match, meaning the country will feature on the podium for the first time in the tournament since 1996.
The Italians upstaged the Serbians, who failed to convert their offensive opportunities and found themselves thwarted by the Italian's impenetrable goalkeeper Stefano Tempesti.
The match on Friday was a repeat of the outcome of last year's world championships, when Italy beat Serbia in extra time to win the title.
Italy will play Croatia in the final on Sunday to win what will be their first medal in water polo since 1996, while Serbia will face Montenegro in the bronze medal match, a repeat of the third place match in Beijing.
The Montenegrins scored the first goal but struggled to penetrate the combination of Croatia's tight defence and their top-ranked goalkeeper in the first and second periods of the game, and could not catch up in the fourth.
Croatia will now face either Italy or Serbia, who play their semi-final later on Friday, in the gold-medal match on Sunday.
"With this game, with this form, we have a chance," Miho Boskovic said, referring to the biggest prize in water polo, the Olympic gold medal.
The low-scoring match against Montenegro was a particularly physical one, featuring bouts of underwater wrestling and double exclusions for major fouls as players scrapped with each other, a reflection of the aggressive water polo style for which the Balkan countries are renowned.
"It was a tough game. Physically, very tough. I don't know. I never feel so tired like now, but it's nothing because we are in the final," Croatia's Niksa Dobud said as he wiped some blood from his hand.
"Tough game," he shrugged.
Montenegro still have a shot at winning the bronze medal. The team were also in the bronze medal match in Beijing but came fourth after losing to Serbia.
Should Montenegro, which split from Serbia in 2006, win the bronze, it will be the country's second Olympic medal as the tiny Adriatic nation was guaranteed its first on Thursday when its women's handball team qualified for the Olympic final.
"They are very strong. They are probably the strongest team in the world, and we tried to swim a lot and we did that, but the goalkeeper was very good today," Montenegro's Drasko Brguljan said of the clash against Croatia, adding that the pressure was now on for bronze.
"We come here to try and bring medal and we have to, because people in Montenegro expect that of us."