Philippe Bergeroo, entraîneur de l'équipe de France des moins de 17 ans, repère le joueur lors du tournoi de Montaigu qu'il dispute avec son club au printemps 2004. Il est sélectionné pour disputer le championnat d'Europe des moins de 17 ans et s'intègre dans un groupe qui compte déjà dans ses rangs des joueurs offensifs tels que Jérémy Menez et Hatem Ben Arfa. Remplaçant, il inscrit un but lors du premier tour, après être entré en jeu face à l'Irlande du Nord. L'équipe de France remporte la compétition pour la première fois, s'imposant en finale face à l'Espagne. En 2006, Benzema poursuit son parcours dans les sélections de jeunes en intégrant l'équipe de France des moins de 19 ans. Les Français sont tenus en échec par la Biélorussie, puis par l'Écosse, lors de la phase qualificative pour le championnat d'Europe. Malgré trois buts inscrits par Benzema durant la première phase, l'équipe ne peut se qualifier pour la phase finale disputée en Pologne. L'attaquant lyonnais accède rapidement en équipe de France Espoirs, lors de l'été 2006 il est appelé par René Girard pour disputer les matches qualificatifs pour le championnat d'Europe. En octobre, la France est éliminée par Israël lors des matches de barrages.
En novembre 2006, Karim Benzema est appelé en équipe de France par le sélectionneur Raymond Domenech, à l'occasion d'un match amical face à la Grèce. Blessé, il ne peut disputer la rencontre, et est alors approché par l'équipe nationale algérienne. Il décline l'invitation, et déclare : « L'Algérie c'est le pays de mes parents, c'est dans mon c½ur, mais sportivement, je jouerai en équipe de France ». Benzema effectue ses débuts internationaux avec la France en mars 2007, à l'âge de 19 ans. Après être entré en jeu à la mi-temps, il inscrit le but vainqueur face à l'Autriche, reprenant un coup franc de Samir Nasri. Par la suite, le jeune lyonnais est appelé régulièrement en équipe nationale, il participe notamment à cinq matches qualificatifs pour le championnat d'Europe. En octobre, il inscrit un doublé face aux Îles Féroé, après avoir remplacé Nicolas Anelka à la 46e minute. En mai 2008, Benzema est retenu dans la liste des 23 joueurs français établie par Domenech en vue de l'Euro 2008.
Il porte actuellement le numéro 10 de l'équipe de France, numéro porté précédemment par Zinedine Zidane et Michel Platini, au détriment de Sidney Govou.