Middlesbrough opened the scoring on seven minutes as Faris HAROUN raced clear to convert past goalkeeper Bobby Olejnik after an intelligent pass from Scott MacDonald. The goal came from a Posh corner that was well cleared by Jonathan Woodgate.
George Thorne saw a left-foot shot deflected behind for a corner kick after an intelligent pass from George Boyd. It was 2-0 to the visitors on 18 minutes as a deep cross to the back post was converted by HAROUN from six-yards.
Thorne volleyed over the top from the edge of the area from a half-cleared corner kick as Posh tried to get a foothold in the fixture. Thorne then saw a long-range effort comfortably saved by Steele.
Rowe saw a shot deflected behind after a clever leave from Tomlin following a clipped pass from Knight-Percival. Tomlin then fired over after good hold-up play from Thorne as Posh continued to create opportunities in front of goal.
Posh reduced the arrears on 36 minutes and it was a stunning goal from Dwight GAYLE, who turned his man and unleashed a powerful shot past the despairing dive of goalkeeper Steele.
Thorne sent a rasping drive inches past the upright on the stroke of half-time as Posh ended the first period on top.
Posh got themselves on level terms on 51 minutes as a corner from Tomlin was nodded down by Bostwick and GAYLE was there to turn and squeeze the ball into the back of the net.
Gayle headed a Little cross over the top on 70 minutes after a good pass from Boyd picked out the full-back.
On 76 minutes, the visitors got their noses in front as substitute Ishmael MILLER let fly from distance and the effort somehow beat goalkeeper Bobby Olejnik, who got a hand to the strike, but couldn't keep it out.
Kane Ferdinand replaced Tommy Rowe moments later as Darren Ferguson tried to get back in the game.
Final Score: Posh 2-3 Middlesbrough
Posh: Olejnik, Zakuani, Bostwick, Tomlin, Boyd, Rowe (sub Ferdinand 78min), Newell, Little, Knight-Percival (sub Swanson 89min), Thorne, Gayle. Unused subs - Day (GK), Alcock, Brisley, Swanson, McCann, Kearns.
Middlesbrough: Steele, Bikey, Leadbitter, Emnes (sub Miller 73min), Ledesma, McEachran (sub Thomson 78min), Halliday, Parnaby, McDonald, Haroun (sub Smallwood 69min), Woodgate: Unused subs - Leutwiler (GK), Bailey, Hines, Jutkiewicz.
Attendance: 6,612 (1,725 Middlesbrough fans)