Born in Luton, Bedfordshire, Stevenson began his career in the youth system at Histon, signing for the club at the age of 15. He signed his first professional contract with Histon in July 2010, and made his first team debut at the age of 18 in a 2–0 defeat away to AFC Wimbledon on 17 August 2010, replacing Callum Stewart as a 77th-minute substitute. Stevenson scored his first career goal in a 2–1 defeat at home to York City on 15 January 2011, and went on to score his second goal in a 3–2 defeat at home to Mansfield Town on 22 March. He maintained a first team place throughout 2010–11, and finished the season with two goals from 31 appearances, but was unable to help Histon avoid relegation to the Conference North. Stevenson played in every league match in 2011–12, during which he made his first appearance of the season in a 2–2 draw at home to Blyth Spartans on the opening day of the season. His first goal of the season came with the third goal in a 3–0 win at home to Solihull Moors on 6 December 2011. Stevenson finished the season with three goals from 45 appearances. He went on to finish 2012–13 as Histon's top scorer with 11 goals from 45 appearances and played in all but one league match.
On 20 May 2013, Conference Premier club Luton Town announced that they would sign Stevenson on a two-year contract following the expiration of his contract with Histon on 1 July. He debuted on 7 September in a 0–0 draw at home to Grimsby Town, having entered the match as a half-time substitute. Stevenson failed to establish himself in the first team and was loaned to fellow Conference Premier club Dartford on 28 November until 4 January 2014. He instantly secured a first team place and debuted two days later against Forest Green Rovers in an FA Trophy first round tie, which finished as a 1–1 draw. Stevenson's loan at the club was extended on 8 January 2014 until 1 February. He scored his first goal for Dartford two days later with the opener in a 1–1 draw away to Welling United, a result that ended a run of 10 consecutive league defeats. His loan with Dartford was extended on 30 January until the end of 2013–14. Stevenson completed the loan spell with one goal from 25 appearances, as Dartford finished 22nd in the Conference Premier, but were reprieved from relegation after both Hereford United and Salisbury City were demoted as a result of financial problems. Stevenson made his Football League debut after being introduced as a 79th-minute substitute away to Carlisle United on the opening day of 2014–15, which finished as a 1–0 victory.Jim Stevenson in 2014/2015"/> He went on to score his first Football League goal in a 2–1 win away to Hartlepool United. Stevenson joined Conference Premier club Aldershot Town on 19 January 2015 on a one-month loan until 21 February. He debuted a day later in a 1–0 defeat at home to Kidderminster Harriers and scored his first goal with the opener in a 2–1 win at home to Welling United on 14 February to help Aldershot end a run of five consecutive defeats. Stevenson's loan at Aldershot was extended until the end of the season on 27 February, having scored one goal from four appearances during his initial spell with the club. He went on to score two goals at home to Dover Athletic on 3 March in a 3–1 victory, and completed the loan spell with three goals from 14 appearances. Upon his return to Luton, the club announced that he would be released following the expiration of his contract.
Aldershot Town
Stevenson signed for Aldershot permanently on a one-year contract on 10 June 2015. He made his first appearance after signing permanently on the opening day of 2015–16 in a 2–1 defeat at home to Gateshead. Stevenson's first goal of the season came with the second goal in a 4–0 win away to Guiseley on 22 August. He finished the season with six goals from 49 appearances, but was released by the club a day after the appointment of Gary Waddock as the new Aldershot manager.
Dover Athletic
Stevenson signed for National League club Dover Athletic on 28 May 2016. He debuted on the opening day of 2016–17 in a 0–0 draw away to Wrexham and scored his first goal in a 4–2 victory away to Eastleigh on 16 August. Stevenson joined fellow National League club Southport on 17 February 2017 on a one-month loan. He debuted a day later in a 0–0 draw away to Woking and scored his first goal on 11 March in a 2–1 defeat at home to Torquay United. Stevenson's loan at Southport was extended on 18 March until the end of the season. He was recalled by Dover on 18 April, having scored once in 11 appearances for Southport. Stevenson was released by the club in May 2017.
On 28 June 2017, Stevenson signed for National League South club Chelmsford City. In January 2018, Chelmsford manager Rod Stringer confirmed Stevenson had left the club.