The opener came three minutes after half-time with the help of a little luck. Granit Xhaka scuffed his shot, but Shaqiri planted the ball in the bottom right-hand corner.
Half an hour later, Lang effectively sealed it, turning the ball home from Gokhan Inler's free-kick.
There was late drama when Diego Benaglio fouled Odise Roshi in the area and Hamdi Salihi blasted home an 89th-minute penalty, but Switzerland hung on to finish the job off with victory.
The late goal was one of the very few times alarm bells had rung for the visitors, with Albania having been limited to only a couple of openings - the best of them a fine effort from Ervin Bulku which drifted just the wrong side of the post.
Instead, Switzerland dominated, keeping Etrit Berisha occupied with a string of saves from the likes Shaqiri, Fabian Schar, Valentin Stocker and Valon Behrami.
Albania only began to build sustained pressure in the later stages, with Jahmir Hyka and Valdet Rama going close in the moments before the penalty.