Borussia Dortmund slipped four points behind Bayern Munich in the race for the Bundesliga title after a surprise 2-1 loss on the road at Wolfsburg .
Dortmund went ahead in first-half injury time through Marco Reus but Ricardo Rodriguez equalised in the 56th minute and Ivica Olic gave the hosts the win with the second after 69 minutes.
Dortmund remained on 28 points and lose ground on Bayern, who were easy winners over Augsburg.
Wolfsburg improve to 21 points with their fourth straight win and fifth in the last six matches at home.
Both sides struggled to produce much in the way of attacking play early on and the first chance of the match went to Wolfsburg in the 22nd minute as Ivan Perisic's header went just wide.
The hosts went close nine minutes later with Slobodan Modejevic striking his volley just off target.
Dortmund finally threatened after 38 minutes with Robert Lewandowski finding space but his volley flew well over the bar from nine yards.
Dortmund took the lead two minutes into first-half injury time when Reus' free-kick curled over the wall and into the top-left corner.
The visitors nearly doubled their lead after 54 minutes with Henrikh Mkhitaryan teeing up Pierre-Emerick Aubameyang but his shot went just left of the target.
Wolfsburg made Dortmund pay for their wastefulness and equalized two minutes later with Rodriguez's free-kick from the right side going untouched through the area and in.
And Wolfsburg took the lead with 21 minutes remaining thanks to a phenomenal goal by Olic, who turned in left from the right side and blasted home a left-footed strike via the far post.
Reus missed a chance to level in the 72nd minute with a free-kick from a similar position as his goal came from but this time his attempt came back off the upright.
Lewandowski went down in the box in the 90th minute but the referee waved away his penalty claims, while Wolfsburg goalkeeper Diego Benaglio secured the points when he pulled off a brave stop to deny Lewandowski two minutes into injury time.