Posh turn form book upside down to beat league leaders Cardiff City.

Peterborough United produced a stunning display to beat league leaders Cardiff City 2-1 at the Cardiff City Stadium with Dwight Gayle and Michael Bostwick the men on target.

Craig Noone tested goalkepeer Bobby Olejnik inside the opening few minutes at a packed Cardiff City Stadium. George Boyd sent a 25-yard drive wide of the target on seven minutes after finding space in a central area.

Boyd then saw a shot cleared off the line by Turner, whose acrobatic clearance somehow kept the ball from dropping over the goal-line. It was a good work from Tommy Rowe in the build-up.

Tomlin curled a shot wide after a forceful run on 14 minutes as Posh played some decent football at the home of the npower Championship league leaders in the early exchanges.

The deadlock was broken on 25 minutes in controversial circumstances. Referee Mr Coote awarded a free-kick to Posh on the edge of the area, but it appeared that Zakuani had fouled Helguson. Michael BOSTWICK stepped up and rifled the ball past Marshall from the dead ball.

Bellamy volleyed wide from 25-yards at the other end after an intelligent knock down from Helguson. Zakuani produced a stunning clearance on the goal-line to deny Bellamy from levelling on 33 minutes as he was left in space at the back post.

Newell then went on a rampaging run and got to the by-line, but his cut back failed to find Little.

Boyd volleyed over from 250-yards after good work from the impressive Newell, the stand out performer in this first 45 minutes. On the stroke of half-time, Noone fired over with his left-foot when well placed just inside the box.

It was 2-0 to Posh less than two minutes after the re-start as the hosts were caught on the counter-attack, Boyd fed Tomlin, whose perfectly weighted through ball found GAYLE, who took a touch and fired past goalkeeper Marshall.

Cardiff made a double change with Jordan Mutch and Aron Gunnarsson introduced by boss Malky Mackay. Gayle was denied a second by a fine fingertip save from Marshall, who pushed over his powerful header from a Tomlin set-piece.

Gayle had the ball in the back of the net on the hour mark as he converted following Thorne's effort, which had been parried by Marshall, but the offside flag cut short the celebrations.

Helguson side-footed an inch wide of the target before Posh were forced into a change, Alcock replacing Knight-Percival.

Gayle was denied by an excellent stop by Marshall on 71 minutes, and managed to get up and grab the ball before Tomlin fired home the rebound. Marshall denied Gayle again on 72 minutes after another clever through ball from the influential Tomlin.

At the other end, Helguson was inches away from pulling a goal back as he raced onto a Turner long ball, but his lob dropped wide of the post with Olejnik unmoved. Gestede then was left unmarked but he headed over.

Boyd shaved the outside of the post on 76 minutes after a Tomlin cross was only half cleared to the edge of the area. Gayle was denied by Marshall by point blank range moments later after good one-touch football from the boys in blue.

Gestede stabbed over at the other end as the game entered the final 10 minutes. Kane Ferdinand replaced the impressive Newell on 82 minutes. Helguson headed over a Taylor cross on 85 minutes as Cardiff created another notable chance.

Tomlin was through on goal with three minutes to play, but his low shot was saved by the overworked Marshall. The home side got the goal they were searching for on 88 minutes as GESTEDE hooked the ball past goalkeeper Olejnik from close-range.

Final Score: Cardiff City 1-2 Posh

Cardiff: Marshall, McNaughton (sub Gunnarsson 50min), Taylor, Turner, Whittingham, Cowie (sub Mutch 52min), Conway (sub Gestede 63min), Connolly, Noone, Helguson, Bellamy. Unused subs: Lewis, Bo-Kyung, Mason, Lappin.

Posh: Olejnik, Zakuani, Bostwick, Knight-Percival (sub Alcock 68min), Newell (sub Ferdinand 82min), Little, Rowe (sub Brisley 82min), Boyd, Thorne, Gayle, Tomlin. Unused subs: Day,  Swanson, McCann, Gordon.

Attendance: 26,073 (234 Posh fans)