Ronnie O'Sullivan staged an impressive fight back to defeat Stephen Maguire and reach the World Grand Prix final in Preston.

The five-time world champion was on the ropes at 4-2 down but won four successive frames to progress to Sunday's showpiece with a 6-4 victory.

Breaks of 72, 83, 128 and 75 saw the Chigwell star reach his fourth ranking final of the season and he will face either world number one Mark Selby or China's Ding Junhui.

Reigning world champion Selby overcame Michael White 5-2 earlier in the day while Ding beat Anthony McGill 5-3.

O'Sullivan will aim to add the World Grand Prix title to his English Open, Shanghai Masters and UK Championship triumphs this season.