Borussia Dortmund won 2-0 at Union Berlin to stay fourth on Saturday, one point clear of RB Leipzig who handsomely defeated Bochum in an increasingly tight race for fourth spot.

Stunning seasons from league leaders Bayer Leverkusen and Stuttgart have left Champions League regulars Dortmund and Leipzig to battle it out for fourth spot. 

Karim Adeyemi's 41st minute goal, his first of the season, put Dortmund on course for victory before Chelsea loanee Ian Maatsen added another in stoppage time for a victory which will ease pressure on under-fire manager Edin Terzic. 

With the hosts unbeaten at home since early November, Union goalie Frederik Ronnow kept Dortmund at bay early but the visitors eventually broke through via Adeyemi.

The Germany winger took two touches before unleashing a long-range effort which thundered in off the crossbar.

Maatsen's late goal, his first since arriving on a six-month loan in January, sealed the result. 

Leipzig, who face Real Madrid away on Wednesday in their last 16 second leg of the Champions League, stayed hot on Dortmund's heels, scoring three goals in four second-half minutes in a 4-1 win at Bochum.  

Maximilian Wittek's opener had more than a little help from Leipzig goalie Peter Gulacsi, the Hungarian knocking a free-kick into his own net. 

Xavi Simons' equaliser after 15 minutes was chalked off for offside, but Leipzig drew level through a long-range Dani Olmo strike on the half-hour mark. 

Openda came on after 65 minutes and scored just three minutes later, blasting in on the counter for his 17th goal of the season. An own goal and a Yussuf Poulsen strike on the 71 and 72-minute marks ensured Leipzig would depart Bochum with the three points. 

The victory was just Leipzig's third win in nine games this calendar year.

Mired in mid-table, Bochum have impressed at their Ruhr Stadium this season, losing just two of 12 matches, having beaten Bayern 3-2 in their last home game.

Mainz drew 1-1 with Borussia Moenchengladbach at home, Jonathan Burkardt's 12th-minute strike cancelled out by a 55th minute-goal from visiting midfielder Nathan Ngoumou.

Elsewhere, Eintracht Frankfurt won 2-1 at Heidenheim to tighten their grip on sixth place.

An own goal from Benedikt Gimber and a Niels Nkounkou strike helped the Eagles secure their first win since January, with Marvin Pieringer grabbing a consolation for the hosts.  

Augsburg scored five goals in the opening half an hour to thump rock-bottom Darmstadt 6-0.

Visiting forward Ermedin Demirovic scored a double in the dominant victory, with promoted Darmstadt 12 points from safety and looking on course for an immediate return to the second division.

Later on Saturday, third-placed Stuttgart can go four points behind second-place Bayern Munich with a win away at Wolfsburg. 

League leaders Bayer Leverkusen play on Sunday at Cologne and can extend their lead atop the Bundesliga table to 10 points with a win.