The Germans - who have not won the World Cup since 1990 - will play either hosts Brazil or Colombia in Belo Horizonte nexzt Tuesday.
Hummels headed home from a superb freekick by Toni Kroos to give the Germans the lead in the 13th minute.
Germany thought they should have been awarded a penalty shortly afterwards as Miroslav Klose went down with his shirt being tugged by Mathieu Debuchy.
France had their chances with the best seeing German goalkeeper Manuel Neuer marking his 50th appearance with a great double save first from Mathieu Valbuena and then Karim Benzema.
Benzema had a great chance to level affairs in the dying seconds as he worked some space on the left but his shot was batted away by the peerless Neuer.
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ