Leading 2-0 at half-time through goals from Karim Benzema and Yann M'Vila, France conceded the initiative to their hosts early in the second half when a defensive mix-up enabled Erjon Bogdani to pull a goal back. There were several nervous moments in the French penalty area thereafter, but they clung on to extend their unbeaten run to 12 games.
Victory also put France in a strong position in their group with three games left to play, although Bosnia-Herzegovina remain on their tails after winning 2-0 in Belarus.
Amid muggy temperatures in the Albanian capital, France made a confident start and took the lead with their first shot on goal in the 11th minute. Benzema, who has been in superb form for Real Madrid, pounced on a loose ball broke at the edge of the box, slamming a right-footed shot beneath Albania goalkeeper Saimir Ujkani.
Laurent Blanc had warned France to expect a stern examination and they almost conceded their lead immediately, as Hamdi Salihi lofted an effort against the French crossbar with Hugo Lloris beaten. Having survived that scare, the visitors pressed home their advantage with a well constructed goal in the 18th minute.
A M'Vila pass set Benzema scampering down the right flank and when he cut the ball back from the byline, the Rennes midfielder stepped up to bend a first-time shot inside the left-hand post from 18 yards.
Lloris did well to push away a stinging Ansi Agolli half-volley, but it was France who came closest to scoring again before half-time, with Ujkani touching a Franck Ribery free-kick onto the crossbar.
France appeared vulnerable seconds after the break, however, when a mix-up between Younes Kaboul and Eric Abidal allowed Bogdani to squeeze the ball between Lloris' legs. Kaboul and Abidal were deputising at centre-back in the absence of the injured Philippe Mexes and the suspended Adil Rami.
France, suddenly, looked vulnerable and Lloris had to bat away a thunderous drive from Ervin Bulku just before the hour. Blanc's men rode the storm, however, and twice hit the post in the final ten minutes, first through a header from Kaboul and then a low drive by Samir Nasri.