An opera singer and three French dancers wowed the judges to sail through to the Britain's Got Talent final.

Student Lucy Kay, who lives in Glasgow, put her confidence issues behind her and dazzled the judges with her performance of Nella Fantasia.

The 25 year-old, who was taunted by bullies for years because of her love for classical music, got a standing ovation from all four of the judges and won the public vote with her heartfelt performance.

Show supremo Simon Cowell said: "Incredible. I mean, you literally saved the show. I was on my way home and then you came back and most importantly you proved a point to yourself. You have got rid of all your problems in your past."

Fellow judge Amanda Holden said: "Lucy, I mean, it was the most beautiful, haunting piece of music I've heard in a long time.

"You came back looking like a star, sounding like a star. Your voice control was incredible and I'm so happy we found you on this show. Amazing."

Panellist David Walliams joined in the praise and said: "It was just faultless. It was like we were at your concert. You are a ready made star. If I was Simon Cowell I would be signing you up."

While Alesha Dixon said: "Lucy I adore you and I know you have been on such a personal journey. You just transported me in that performance. I think you are a star."

Camp dancing trio Yanis Marshall, Arnaud and Mehdi also impressed the celebrity judging panel with their diva dance medley.

Cowell said: "I said there were going to be some highs and lows. I think you were the cherry on the top of one of the nuttiest shows we have ever done on Britain's Got Talent. It was entertaining. It was fun."

Holden said: "Honestly I think you are sexy, you are sassy. I love your styling." While Walliams added: "Sisters, that was fierce."

Just 45 acts have made it through to the live semi-finals from the thousands who applied and the hundreds who auditioned, and they are battling it out on the ITV1 show for the prize of £250,000 and a spot at the Royal Variety Performance.

The third semi-final is tonight at 7.30pm. The final is on June 7.