19-year-old singer Kelly was the first act announced to make the final, having won the viewers' vote following his performance of 'Iris' by the Goo Goo Dolls.
Welsh dance group Nu Sxool and 9-year-old Malaki Paul were also voted by the public into the top three acts, with the judges' vote given to the dance troupe.
When the decision landed with the judges, David Walliams decided to go for Nu Sxool, saying that he preferred their performance on the night.
Alesha Dixon said that she would "follow [her] heart" and went for Malaki Paul, before Amanda Holden picked Nu Sxool, saying: "You're all really young and what you've got to remember is whatever happens, millions have watched you and you've been fantastic. So hold that thought and take that home with you."
Simon Cowell had the deciding vote, telling the hopefuls: "You've both done brilliantly, I'm going to send home one of you, but don't feel bad about that fact because you're in the top three. The act I'm going to send through to the final is based on the best performance on the night, which is Nu Sxool."
A surprised Sam Kelly said: "I literally can't believe it. I didn't expect to get this far. I can't believe people have spent their money voting for me."
Chica Latina, The Sugar Dandies, Gatis Kandis, Beatrix Von Bourbon, Brynolf & Ljung and Be Minor were also eliminated from the competition.
Britain's Got Talent continues tomorrow (May 10) for its fifth and last semi-final airing at 7.30pm on ITV1.
Photo gallery: Britain's Got Talent's fourth semi-final:
Copyright: Rex Features Ken Mckay/Thames