Hosts Hungary will play Montenegro in the final of the International Swimming Federation Men's Water Polo World League Super Final after both countries came through their last four clashes in Budapest.
The Hungarians edged Japan 11-9 at the Duna Arena as they bid for their first World League title since 2004.
It was a nervy encounter for the nine-time Olympic champions, however, as they conceded four goals without replying in the second quarter to trail the Japanese 5-2.
A superb third quarter, however, where Hungary registered seven times to Japan's three, swung the match in their favour.
Montenegro, the 2009 winners, beat Spain 10-8 in a tight affair.
They led 3-2 after the first quarter and never relinquished the advantage, keeping their opponents at bay.
The final is due to be played tomorrow.
Elsewhere, Croatia beat the United States 10-7 in the fifth to eighth place play-off series.
Australia saw off Kazakhstan 15-11.