Franck Etoundi scrambled home to put the hosts ahead midway through the first half, only for Havard Nordtveit to level with a brilliant long-range strike. Thereafter the Foals huffed and puffed, but more will be needed in the next game if they are to make the last 16, having been frustrated by Villarreal CF on Matchday 1.
Gladbach, unbeaten in ten matches going into the game and currently riding high in second place domestically, began purposefully in the Stadion Letzigrund. Zürich were unable to find any rhythm in their passing, with Borussia's Branimir Hrgota going close after good work from Thorgan Hazard.
The hosts, meanwhile, had hardly threatened in the opening quarter, but they were gifted the opening goal well against the run of play, as Etoundi ghosted into the box to tap home a left-wing cross. Parity was restored moments later, though, and in some style, as Nordtveit unleashed a rasping drive that found the top corner.
Lack of cutting edge
Gladbach boss Lucien Favre, a former Zürich coach, would have been pleased that his side continued to dominate the ball in the second half, but there was a spark missing from his side's approach play. Hazard and his replacement Ibrahima Traore were full of running, but they struggled to isolate any part of a well-organized defence.
Granit Xhaka fired a rebound at the goalkeeper's legs and Max Kruse had an effort crucially blocked by a defender. There were further chances for Xhaka and Martin Stranzl, but the hosts were able to defend the scoreline with relative ease, despite Borussia's 31 shots at goal. Favre's charges will have a third attempt at registering a group stage victory when they host Apollon Limassol FC on 23 October.
Zürich: da Costa - Djimsiti, Kecojevic, Nef - Schönbächler (Koc, 84'), Kukeli, Yapi, Rikan (Rodriguez, 20') - Chiumiento - Etoundi, Chermiti
Gladbach: Sommer - Korb, Stranzl, Jantschke, Dominguez (Wendt, 84') - Hahn (Herrmann, 73'), Xhaka, Nordtveit, Hazard (Traore, 67') - Hrgota, Kruse
Goals: 1-0 Etoundi (23'), 1-1 Nordtveit (25')