Ronnie O'Sullivan will meet Kyren Wilson in the final of the English Open in Barnsley after battling to a 6-4 semi-final victory against Anthony McGill.

O'Sullivan, who has seen his tournament disrupted by a stage invader on Thursday and a nagging ankle injury which has led him to play in trainers, found the going far from easy against Scotland's McGill who fought back from 3-0 down.

McGill claimed the fourth frame but O'Sullivan bounced back with a break of 139, his first century of the contest, to lead 4-1. McGill took the next two frames, including a break of 113 in the seventh, to trail by one before O'Sullivan edged a tight eighth frame.

McGill won the ninth to trail by one frame but a break of 133 in the 10th saw O'Sullivan through to face his fellow Englishman.

Wilson defeated Switzerland's Alexander Ursenbacher, ranked 91 in the world, 6-3 in the earlier semi-final. Wilson came back to level at 2-2 after losing the first two frames before a 124  break got him level again at 3-3 and runs of 75, 56 and 90 took him to victory.