Ryde, Isle of Wight born outside left and amateur footballer Ernest Williams began his football career with Ryde in 1905 before joining Southern League Portsmouth in December 1906, making his Southern League debut against Norwich City in September 1907, scoring once in 7 appearances in his debut season. He won his first cap for the England Amateur XI when he played in a 1-0 win over Wales at Edgeley Park, Stockport in February 1908 and scored twice in a further 13 appearances for Pompey, winning two further England amateur caps, firstly in a 4-4 draw against Ireland at Elland Road, Leeds in November 1909, and then scoring in a 9-1 win over The Netherlands at Stamford Bridge in December 1909, before he moved to join First Division Chelsea, making his Football League debut against Tottenham Hotspur a week later.
Over the following two months he made 8 League appearances for Chelsea and scored the winner in his only FA Cup tie, a 2-1 victory over Hull City at Stamford Bridge, but he returned to Portsmouth at the beginning of March and played 8 more Southern League games for Pompey before the end of the season. He continued to play for Portsmouth until April 1911, by when he had scored 4 goals in 35 appearances for Pompey across his two spells. He played once for Southampton in a Southern League 5-2 defeat at Brighton & Hove Albion, replacing the injured Len Andrews in October 1912.
He also played one first class match for Hampshire County Cricket Club in 1904, scoring 16 runs across his two innings.