OPINION: Here we are - the climax of the best World Cup I have seen, with two deserving teams.
Both sides topped two of the toughest pools and are unbeaten throughout the tournament.
On paper, it seems a one-sided affair, but a look back on their World Cup form shows that Croatia are legitimate contenders.
- We're ready for 48-team World Cup
- Looking for somewhere to watch the FWC final?
- More Football World Cup news
Let's have a look back at each nation's road to the final.
Group C Match one: France 2-1 Australia
France were in Group C - my group of death. In their opening match, they were the benefactors of the first VAR-overturned penalty at the tournament. Their winning goal came from a nasty deflection.
Deserved victors, but could have easily drawn that match.
Group C Match two: France vs Peru 1-0
Kylian Mbappé scored his first goal of the tournament in a dominant French victory. They needed this win to secure top spot in Group C.
Group C Match three: France 0-0 Denmark
A dull draw against a Denmark side that was desperate for a single point against the group's highest-ranked side.
Round of 16: France 4-3 Argentina
This was the match where Mbappé stamped his mark on the tournament. His blistering pace led to France's first goal - a penalty that Antoine Griezmann converted.
France were then forced to show character by coming from 2-1 down. Benjamin Pavard's lightning bolt got them level, before a brace by Mbappé helped the French knock out Lionel Messi.
It was one of the games of the tournament.
Quarter-final: France 2-0 Uruguay
With no Edinson Cavani due to injury, Uruguay were always going to be up against it in their quarterfinal. But the biggest question France answered in this game was could they break down a well-oiled Uruguayan defence?
While they scored from a free-kick and benefited from a clanger from the Uruguayan goalkeeper, the answer to that question was yes.
Semi-final: France 1-0 Belgium
France's most complete performance. They were prepared to sit in and absorb Belgian attacks, and then counter attack with pace.
Defensively they were sound and another set-piece goal in the tournament (Samuel Umtiti) was all France needed to reach their third final in six World Cups.
France are peaking at the right time. While you couldn't say they scraped through pool play, they didn't look like worldbeaters either.
But as the tournament progressed, they have got better and better.
They've kept four clean sheets this tournament, which shows they will be tough to score against. History tells us that you need to score a goal to win a World Cup - only one final has ended 0-0 after 120 minutes (1994).
Group D Match one: Croatia 2-0 Nigeria
Looking back on the tournament, Nigeria weren't as good as many thought, but this was still a convincing victory for Croatia. Mario Mandžukić's head was helped in by a Nigerian foot and a rugby tackle on Mandžukić meant Luka Modrić could convert from the spot.
No troubles in their opening match.
Group D Match two: Croatia 3-0 Argentina
A howler from Argentinian goalkeeper Willy Caballero, a 30-yard screamer from Modrić and a taste of sugar on top at the end confirmed Croatia in the next phase. It was the biggest indication that Croatia were serious title contenders and they would continue to prove why the deeper they went.
Group D Match three: Croatia 2-1 Iceland
It would have been easy for Croatia to sit back and relax, having already qualified for the round of 16, but they didn't. They dominated this match, only for a late Iceland penalty to tie the game 1-1.
But like any championship-worthy team they found a way to win. Ivan Perišić's 90th-minute winner sent Croatia through with the full complement of nine points in the group stages.
Round of 16: Croatia vs Denmark 1-1 (3-2 on penalties)
Remember this game? There were two goals in the opening five minutes and then no more for the remaining 115.
Modrić had a penalty saved in extra-time and the fact that Denmark goalkeeper Kasper Schmeichel was named man of the match says it all. Croatia deserved their win on penalties.
Quarter-final: Croatia vs Russia 2-2 (4-3 on penalties)
Croatia clawed themselves back from a spectacular Russian opener from Denis Cheryshev to level the game at 1-1. Croatia then took the lead in extra-time, only for Russia's Mário Fernandes to become the hero by levelling it at 2-2.
He quickly became the villain, when he missed a penalty in the shootout.
Semi-final: Croatia vs England 2-1 (extra time)
Croatia's tired legs may have accounted for their slow start, where they fell behind to a sumptuous free-kick from Kieran Trippier, but they grew into the game and dominated it in the second half. Level at 1-1 after 90 minutes, extra time was needed and Croatia took their chance.
Mandžukić was the quickest to react and end England's euphoria.
Croatia ended pool play as one of the form teams of the tournament, but even on the weaker side of the bracket, few would have predicted them to get this far.
Looking back at their results, we shouldn't be surprised they're here. Perhaps the best evidence of that was their 3-0 win over Argentina.
Yes, they have played 90 minutes more football than France, but the Croats insist they are not tired.
If Croatia win, they will be the ninth nation to win a World Cup and from what they've produced, so far you'd be a brave man to bet against them.
Michael O'Keeffe is a sports reporter for Newshub.
Join us at 3am Monday for live updates of the France vs Croatia Football World Cup final.