Stuttgart, who were without central midfielder Zdravko Kuzmanovic through suspension, dominated the first half but lacked creativity in front of the Muscovites' goal.
Dinamo sat deep, but looked vulnerable when Stuttgart delivered the ball into the box. Ibisevic had a glorious chance to put the home side in front with half an hour played, but his header from five yards landed comfortably in the arms of keeper Anton Shunin. Martin Harnik was Stuttgart's most active player and looked a constant threat, but also failed to beat the Russian goalkeeper with two headed efforts.
The visitors appeared content to protect the draw after the break, but once Stuttgart coach Bruno Labbadia introduced Ibrahima Traore and Tunay Torun on the hour mark, the Swabians looked a lot sharper. Traore's long-range shot was easily palmed away after 69 minutes by Shunin, but only two minutes later the deadlock was finally broken. VfB striker Ibisevic found the back of the net with a true poacher's effort after Shunin failed to collect a powerful strike from distance.
Stuttgart with several opportunities
Stuttgart pushed forward in search of a second goal and came close to scoring when Danish midfielder William Kvist volleyed just over from the edge of the box. Cacau came off the bench to great effect and almost made an immediate impact when his curling effort flew just past the post.
However, a minute into additional time, VfB's Bosnian frontman bagged his brace by getting on the end of Traore's deflected cross to head into an empty net. It was a sign of how the encounter had gone for Dinamo when their best chance fell to Andrey Panyukov in the dying minutes, but he failed to convert, as Stuttgart secured a two-goal lead going into the second leg in Moscow on Tuesday.
Stuttgart: Ulreich - Hoogland, Tasci, Maza, Boka - Kvist, Gentner - Harnik (61' Torun), Hajnal (77' Cacau), Okazaki (61' Traore) - Ibisevic
Moskva: Schunin - Wilkshire, Schildenfeld, Fernandez, Lomic - Jusupow, Noboa - Nechajtschik (85' Granat), Misimovic (39' Semschov), Dzsudzsak - Kuranyi (75' Panjukov)
Goals: 1-0 Ibisevic (71'), 2-0 Ibisevic (90'+1)