Roberts was born in West Bromwich as one of five children to James Roberts in April 1859. After leaving Christ Church school Bob became a plasterer by trade, while his interest in sport led him to join the George Salter's Spring Works football team, the West Bromwich Strollers. On 23 November 1878 Roberts played in the first recorded Strollers game, a 12-a-side friendly against Hudson's soap factory that finished 0–0. Roberts continued to play for the club after they changed their name to West Bromwich Albion in 1880. He played in various positions, including full-back, half-back and forward, and there is record of him scoring against Smethwick Holy Trinity in February 1880 in a 3–0 victory. However, he was generally not a success as an outfield player, one observer describing him thus:
Roberts kept goal for the first time during the 1880–81 season. His first match between the posts appears to have taken place on either 18 December 1880 against Wednesbury Royal George, or else on 29 January 1881 against Hockley Belmont. He helped Albion reach the semi-final of the Birmingham Senior Cup in both 1881–82 and 1882–83. In the latter season the club won their first trophy, the Staffordshire Senior Cup, beating Stoke 3–2 in the final. According to the newspaper The Athlete, Roberts could take "a lot of credit for the win by his fine keeping". In 1885 Albion reached the FA Cup quarter-final, but lost 2–0 to Blackburn Rovers; Roberts was unable to participate in the match due to "rheumatics".
With the legalisation of professionalism in the summer of 1885, Roberts and his team mates all became professional players in 1885–86, and proceeded to win both the Birmingham and Staffordshire cups. Albion lost to Blackburn Rovers (via a replay) in the 1886 FA Cup Final, the first of three successive FA Cup Finals in which Roberts played. He received another runners-up medal the following year as Albion were defeated 1–0 by rivals Aston Villa in the 1887 final. During the cup run he is credited with scoring a goal from a long kick downfield against Derby Junction. Twelve months later he helped his team to victory in the 2–1 win over Preston North End in the 1888 final. His performance for Albion was described as "most remarkable" by The Times, while The Standard said that his keeping was "brilliant all through the game". Later that year Roberts played in the "Championship of the World" match, which pitted the English FA Cup holders against the winners of the Scottish Cup. Albion lost the game 4–1 to Renton at Hampden Park.
Roberts played in Albion's first ever Football League match on 8 September 1888, keeping a clean sheet in the 2–0 victory over Stoke. His appearance made him one of only two players (alongside Ezra Horton) to have played in both Albion's first FA Cup game and their first league game. He was ever-present in that first league season of 1888–89, making 22 appearances and keeping four clean sheets. In October 1889 he was suspended by the FA for four matches, after he took part in an unsanctioned match at Walsall. Roberts made 84 appearances in the league and the FA Cup during his Albion career; taking into account friendlies and local cup competitions, he appeared around 400 times for the club.
In May 1890 Roberts moved on a free transfer to Sunderland Albion; their offer of 50 shillings per game was one that West Bromwich were unable to match. He failed to settle in the North East, enduring homesickness as well as his wife's illness. On the pitch however, he helped Sunderland Albion finish as runners-up in the Football Alliance and was ever-present in the league. He returned to West Bromwich Albion on another free transfer in May 1891, and was initially given his place back, at the expense of Joe Reader. By this time however, Roberts' wife was seriously ill and she died in October 1891. Goalkeeping duties were alternated, and as Roberts' form declined further, Reader won his place back permanently. Roberts thus played no part in Albion's 1892 FA Cup Final win over Aston Villa, and left Albion to join Villa at the end of the season, again for no transfer fee. Villa director William McGregor said that Roberts was "Unquestionably the finest goalkeeper of his time". After playing in just four games for Villa, Roberts retired from playing football in June 1893. He moved back to the North East, where he settled for the remainder of his life, working as a plasterer, and died in Byker on 20 October 1929.
On 19 March 1887, Roberts made his debut for England; in doing so he became West Bromwich Albion's first ever international player. England lost 3–2 to Scotland in the match, which was played at Blackburn Rovers' Leamington Road ground. He was so proud of winning his first England cap that he wore it in every subsequent match in which he played. He won two further caps for his country in 1888 and 1890 respectively, on both occasions lining up against Ireland in Belfast. England were victorious in both matches, in the latter by a 9–1 scoreline.
Roberts won various other representative honours during his career, including an appearance for the Birmingham FA in their 4–1 win against the Sheffield FA. He also turned out for the Players v Gentlemen match at the Kennington Oval and played in a county match for Staffordshire, against Lancashire. When he represented Birmingham for a match against Glasgow, such was his popularity that "dozens, possibly even hundreds" of West Bromwich Albion supporters neglected their own team's match against Walsall Swifts to watch him play.West Bromwich Albion
FA Cup winners: 1888
FA Cup runners-up: 1886 and 1887