​​​​​​RB Leipzig dashed Bayern Munich's hopes of wrapping up Bundesliga title on Sunday with three games to spare when goals from Amadou Haidara and Emil Forsberg eased them to a 2-0 win over 10-man VfB Stuttgart.

Second-placed Leipzig snapped a two-match winless run in the league to keep alive the title race as they cut the gap with leaders Bayern, beaten 2-1 on Saturday by Mainz 05, to seven points.

Haidara's darting header a minute after the restart put Leipzig in front and Forsberg's well-taken 67th minute penalty put an end to any hopes of a comeback by the visitors, who have now lost five of their last six matches.

Stuttgart were reduced to 10 men when Naouirou Ahamada was dismissed in the 14th minute with a straight red card for a foul on Haidara. It was the quickest sending off Stuttgart had ever suffered in the Bundesliga.

Stuttgart keeper Gregor Kobel made several superb saves, including punching a thundering Angelino shot away and then recovering quickly to palm Dani Olmo's rebound wide, with Leipzig missing more chances to add to the scoreline.

Leipzig, who travel to Borussia Dortmund on May 8, are on 64 points, while the Bavarians, who next face Borussia Moenchengladbach, on 71.