Wirtz opened the scoring almost immediately from kickoff, before Havertz added a second early in the second period for Julian Nagelsmann's side.
Both managers named strong starting XIs for the glamour friendly, with Kylian Mbappe headlining the France side, while the main team news from Germany was the return of Toni Kroos, with the midfielder featuring for his country for the first time since June 2021.
Germany's Euro 2024 challenge begins against Scotland on June 14, while France will open their tournament against Austria on June 17, and it will be fascinating to see how the two teams perform this summer, as both have plenty at stake.
Incredibly, the opening goal of the contest came after just seven seconds, with Kroos delivering a pass into Wirtz, who made his way towards the France box before finding the back of the net with a stunning effort.
France were shell-shocked and had to wait until the 20th minute to carve out an opportunity of note, with Marcus Thuram just missing the target with a powerful strike from the edge of the box.
Two minutes later, Mbappe came close, with the forward collecting a pass from Ousmane Dembele before attempting to pick out the bottom corner, but his effort was wide of the post.
France were in control as the first period continued to progress, with Adrien Rabiot heading over the crossbar in the 24th minute, before the Juventus midfielder missed the target in the 35th minute after a strike from Dembele had been kept out by Germany goalkeeper Marc-Andre ter Stegen.
Germany actually shaded the possession in the first period, having 52% of the ball, but France had six attempts to Germany's four, with the Blues creating the better opportunities after falling behind so early.
The visitors started the second half on the front foot, with Havertz missing the target from a promising position, but the Arsenal attacker did get his name on the scoresheet in the 49th minute.
Excellent work from Jamal Musiala set up the chance, with the Bayern Munich attacker controlling instantly inside the France box before rounding Brice Samba and delivering into Havertz, who confidently swept the ball into the back of the net for 2-0.
Dembele looked to hit back for France in the 55th minute, but the forward's attempt from the edge of the box was always curling wide of the post.
France made four changes in the period that followed, including the introduction of all-time leading goalscorer Olivier Giroud, but Germany were looking the more threatening, with Thomas Muller and Deniz Undav being denied by Samba in the final 10 minutes, before Niclas Fullkrug headed over the crossbar from close range.
Four additional minutes were added at the end of the 90, but France were unable to get their name on the scoresheet, as Germany kept a clean sheet in an impressive win.
Both teams will be back in action on Tuesday evening, with France taking on South American outfit Chile, while Germany have an intriguing clash with fellow European nation the Netherlands.