Borussia Dortmund cancelled out an early goal from Zenit St Petersburg to head into half time level on the night with the Russian side in the Champions League.
Pierre-Emerick Aubameyang had a chance to open the scoring just five minutes into the match for Dortmund, but the midfielder's header from just a couple of yards out went wide.
The Gabonese international played the ball in for Robert Lewandowski shortly after, but the striker's finish was comfortably held by Vyacheslav Malafeev.
Despite the home side's early dominance, it was the Russian club that took the lead on the night as Hulk found the top corner with pinpoint accuracy from 30 yards out, leaving the visitors just a goal down on aggregate.
Kevin Grosskreutz had a chance to cancel out Hulk's effort as he tried to lash one in from range himself, but Malafeev was on hand to make the stop.
However, Jurgen Klopp's side did manage to get back on level terms just before the break when Sebastian Kehl headed the ball in low from a Marcel Schmelzer cross, leaving them 5-3 up on aggregate.