Thomas Muller's early goal gave Voller the perfect start, and it remained 1-0 for over 80 minutes, before Leroy Sane added a second late on.
It was Sane who would go on to slip up at the other end though, conceding a penalty which Antoine Griezmann converted, but Germany held on for the 2-1 win.
The win ends a five-game winless run for Germany, while France suffered their first defeat since the World Cup final against Argentina.
The German nation was rocked in the aftermath of their 4-1 thrashing at the hands of Japan on Saturday.
That result saw Flick sacked, becoming the first German manager ever to be fired in the history of the national team.
Voller has already stated he does not wish to be in contention for the role full time, despite his popularity among the public.
The stand-in boss surprisingly kept much of the same side which started against Japan, and it paid off as the hosts made a blistering start.
After prolonged periods of good possession in the early stages, Germany took the lead inside five minutes, with Muller finishing off a nice move with his customary close-range finish from eight yards out.
The German side looked composed, knocking the ball through the French side, before Benjamin Henrichs's overlapping run put him in a position to square for Muller to strike.
The match quickly slipped into something of a lul though, with neither side threatening the goal, and Germany were notably weakened when captain Ilkay Gundogan was forced off with injury on 25 minutes.
With France's first real opening and shot of the game, new Paris Saint-Germain signing Randal Kolo Muani lost all composure in front of goal and blazed over.
Aurelien Tchouameni showcased his aerial threat soon after, forcing Marc-Andre ter Stegen into a fine save from Griezmann's in-swinging delivery.
From the resulting corner, Tchouameni got up highest again, but this time his header was no problem for the German number one.
Theo Hernandez showed a glimpse of what he is capable of in the final third cutting inside with pace and fast feet, but the AC Milan left-back's effort went high and wide as the first half drew to a close with Germany still in front.
Into the second half, Kolo Muani's tough night continued, after he slipped just as Ter Stegen parried Tchouameni's long-range effort into his path.
Kolo Muani was soon hooked by manager Didier Deschamps, but Kylian Mbappe remained on the bench, with the manager opting not to risk his star man.
The second half was largely similar to the first 45, with neither side testing the opposition keeper very often, as multiple substitutions adversely impacted the flow of the game.
The game sparked into life in the final 10 minutes though, as Griezmann called Ter Stegen into action, forcing his former Barcelona teammate into a smart stop to tip his strike over the bar.
Soon after though, a fine through ball from substitute Kai Havertz allowed Sane to run through on goal and he slotted past Mike Maignan expertly to put the hosts 2-0 up with just three minutes remaining.
However, there was a sudden twist just seconds after the restart as Eduardo Camavinga was brought down in the area by Sane and referee Anthony Taylor pointed to the spot.
Griezmann stepped up and fired beyond Ter Stegen to keep the encounter interesting heading into three minutes of added time.
However, despite the late scare, Germany hung on for a much-needed win that arrests one of the worst winless streaks in the nation's history.
Going forward, the DFB will hope to have a new permanent manager in place before the Germany squad travel to North America to face USA and Mexico in October's internationals.
France meanwhile, return to qualifying action next month and will expect to seal their place at the finals next summer when they face the Netherlands.