Richard Levi (33) and Adam Rossington (43) had got the Northants reply off to a flying start, with the home side reaching 51 without loss after just four overs.
But the Bears pulled things back brilliantly to defend their 172 for nine, with Jeetan Patel the star of the show, claiming two for 27.
Alex Wakely looked like he could lead the Steelbacks to victory with his fantastic 52, but he was run out from the final ball with his team needing three runs to win.
The Bears celebrated wildly as they pulled a dramatic victory out of the bag, claiming revenge for their final-ball defeat to the Steelbacks at Edgbaston last month.
The win sent the Bears top of the NatWest T20 Blast North Group, with the Steelbacks missing the chance to hit the summit.
Wakely had won the toss, putting the opposition into bat as Northants looked to chase successfully, as they did against Worcestershire Rapids last time out.
The Bears took nine runs from the opening over, but there was a close shave for Ian Bell at the end of it as an inside edge raced past the stumps for four.
Bell continued to face a threat in the second over as Rory Kleinveldt sent down some fizzing deliveries that both batsmen struggled to deal with.
Ed Pollock did manage to smash a six off Richard Gleeson, but aside from that, the Steelbacks were keeping it tight in front of the television cameras.
And the pressure was to pay off in the fourth over as Pollock top edged one and was caught behind for 13 off the bowling of Kleinveldt.
Gleeson thought he also had a wicket in the next over, but Rossington saw the ball spill from his grasp as he dived forward.
The Bears were to end the powerplay on 40 for one and when the spin of Rob Keogh was introduced, another wicket was to fall as Bell was bowled for a sluggish 16.
Adam Hose came in and hit two fours and a six before finding the safe hands of Wakely off the bowling of Keogh to go for 19 off 10 balls.
The Bears were 79 for three at the halfway point and they soon saw another batsman heading back to the dressing room as Hain was run out off the bowling of Saif Zaib for 28.
But Colin De Grandhomme helped to lead a fightback for the men in yellow and navy blue, taking the bowling of Ben Sanderson to task to register 21 runs from the 14th over.
The Steelbacks needed a wicket and they were to get the one they wanted as Nathan Buck had De Grandhomme caught in the deep by Gleeson for a valuable 37 off 16.
And Gleeson then did some more good fielding, running out Aaron Thomason for five off his own bowling.
With three overs to go, the Bears were 144 for six, but after Grant Elliott hit a six, he was to depart, being bowled by a slower ball from Buck for 23.
Keith Barker became the next man to see his stumps go flying as Gleeson grabbed his wicket for nine.
And the Steelbacks bowler repeated the trick soon after, bowling Alex Mellor for one as the Bears went on to finish their innings on 172 for nine.
Gleeson finished with fine figures of two for 27, with Keogh the same and Kleinveldt taking one for 20.
The reply started slowly, with only two runs coming from the first over, but 21 off the second got the Steelbacks up and running.
The 50 came up in just four overs and Levi lashed another six into the bar, but he was to go next ball, being bowled by Aaron Thomason for 33 from 13 balls.
Rossington kept going until he tried to launch a Patel delivery over the ropes and went for 43 off 28 balls.
And spinner Patel struck again next ball, brilliantly bowling Ben Duckett for nine.
But there was to be no hat-trick for the Kiwi bowler when he returned in the 15th over and in between, Wakely had hit three successive fours off Boyd Rankin to kick-start his side.
However, De Grandhomme then produced a fine over, bowling Keogh for 18 from the final ball of it.
That left the Steelbacks needing 36 runs from the final four overs.
Wakely smashed a six, but Steven Crook was soon departing for just two, finding the hands of De Grandhomme off Barker.
The tension was increasing by the second, with youngster Zaib being asked to perform under pressure.
And when the final over came, the Steelbacks needed 13 runs to win.
Zaib was to go from the first ball of it, being caught by Patel off the bowling of Thomason.
Wakely reached his 50 with a six from the next ball and the Steelbacks needed seven runs from the final four balls.
Wakely ended up on strike for the final ball, needing three runs to win it, but he could only find the hands of the bowler, who ran him out to earn victory for the jubilant Bears.
Steelbacks: Levi, Rossington, Duckett, Wakely (c), Keogh, Zaib, Crook, Kleinveldt, Sanderson, Buck, Gleeson.
Birmingham Bears: Pollock, Hain, Bell (c), Elliott, Hose, De Grandhomme, Thomason, Barker, Mellor (wk), Patel, Rankin.