Cotton topped the public vote after surprising with a tap-dancing performance to 'Anything Goes'.
Judges Lisa Riley, Jason Manford and Paloma Faith then voted to send Katherine Ryan into the final ahead of the cast of Waterloo Road.
Ryan performed in a body suit to Nicki Minaj's 'Starships', while the Waterloo Road cast performed the Spice Girls' 'Spice Up Your Life'.
Jon Culshaw and Kim Woodburn and Rosemary Shrager received the fewest public votes and were automatically eliminated. Culshaw performed to Fatboy Slim's 'Praise You', and Woodburn and Shrager dressed as Marilyn Monroe for a dance to 'Diamonds Are a Girl's Best Friend'.
Cotton and Ryan join Tim Vine and The Soap Stars in the final on 9 March.
Let's Dance for Comic Relief continues next Saturday at 7pm on BBC1.