The 19-year-old opened the scoring at Weserstadion and then set up Fin Bartels for the crucial second as the hosts held on to three precious points - despite Mats Hummels' header
The 19-year-old opened the scoring with a stunning strike after just three minutes of play at Westerstadion before setting strike partner Fin Bartels up for a second goal on the hour mark.
Mats Hummels set up a frantic finish with a header from an Ilkay Gundogan corner but the hosts held on to end a run of six straight defeats to BVB.
The result also moves Bremen above Dortmund, who remain in the relegation zone following a 10th league loss of the season, as the pressure continues to increase on Klopp and his players.
Both sides came into this game in desperate need of three points to get their respective seasons back on track before the mid-season break, but it was the hosts who made the dream start after three minutes.
A superb ball from Santiago Garcia found Selke behind the Dortmund defence, allowing the German to pick his spot and apply a smart curled finish past Mitchell Langerak.
Assani Lukimya, one of two changes to Viktor Skrypnyk's side, nearly increased the lead four minutes later, but his close-range effort was deflected wide.
Dortmund, who made three alterations from the 2-2 draw to Wolfsburg, dominated possession in the middle of the park for much of the first half, but remained largely predictable in the final third, with lone frontman Ciro Immobile left with little in terms of service.
Bremen continued to look dangerous and were nearly celebrating again after 25 minutes when a sweeping counter-attacking move saw Melvyn Lorenzen break away into the area, only to skew his shot wide.
Marcel Schmelzer fizzed a half-volley over six minutes later as Dortmund looked for way back into the game, while a mistake at the other end from Hummels just before the break meant Langerak had to be alert to rush out and deny Selke from doubling his tally.
The visitors introduced Shinji Kagawa at half-time to help try and find a breakthrough that nearly came six minutes after the restart when Lukasz Piszczek's back-post cross took a heavy deflection off Garcia before looping just wide.
Kagawa then headed wide four minutes later, but Dortmund found themselves further behind after 62 minutes.
Another brilliant counter attack saw Selke drive down the right wing before his low cross found Bartels, who made no mistake from close range.
Hummels gave Dortmund a lifeline when he rose highest to meet Gundogan's corner and power a header into the net with 21 minutes remaining.
The visitors continued to press for an equaliser, with Kagawa firing wide 11 minutes from time, before Gundogan produced a tame header straight at Raphael Wolf, while Bartels was denied by the post late on.
Bremen held on to clinch three vital points in their battle to beat the drop and keep Dortmund deep in trouble.