Hopes has played for Australia's Under-19s side as a batsman but as his career has progressed he has become more of a bowling all-rounder. Played as a 13-year-old in the state's under-age sides before progressing to the Australian Under-19 team - he scored 105, 71 and 51 at the 1998 Youth World Cup
Hopes was earmarked for higher honours in national youth teams but took a few years to settle once graduating to the first-class level. Hopes, who made his debut in 2001, is the Bulls' leading wicket-taker in the one-day competition.
He has five Pura Cup centuries for Queensland and two one-day hundreds, but is also a successful bowler. In the domestic competition in 2005/06, he collected 15 wickets at 18.33 in the ING Cup and 16 at 22.56 in the Pura Cup, however he was unable to transfer his regular success into the international arena.
He had opened innings for Queensland in 2006/07 scoring 553 runs and taking 21 wickets in the Pura Cup, and capturing a season-high 20 victims and a first one-day century in the FR Cup. The IPL franchise King's XI Punjab picked him up and he was a fine contributor in the opening season, but missed the second event to rest an injury, and was hurt in the lead-up to the third tournament. In 2010/11, he was handed the state captaincy replacing Chris Simpson. He was named Sheffield Shield Player of the Series for the 2010/11 series. He became 49th captain of the state. In November 2010, Hopes picked up 3 for 40 and then top scored with 73 as the Bulls pushed well past Tasmania's disappointing 196 on the second day at Bellerive Oval. In December 2010, he took-up coaching role of Queensland as caretaker coach began with a victory after he replaced Trevor Barsby on a sensational day for the Bulls where they bowled out Western Australia on 136 and won the match by 76 runs. In Big Bash match against Tasmania, he scored unbeaten 65 runs and also affected a run-out and took a one-handed catch to dismiss Ryan ten Doeschate was declared the Man-of-the-Match. In Big Bash match against New South Wales, he scored unbeaten 62 runs 38 balls and the set match off the very first ball when James Hopes bowled Usman Khawaja who chopped a pull back onto his stumps. In 2011, an allround performance from Hopes led Queensland to a comfortable six-wicket victory against New South Wales in Ryobi Cup. Hopes provided a solid start with 41 off 56 deliveries before this he took 4 wickets for 16 runs. Hopes took six-wicket haul and ensured that Queensland finished in third place on the 2010/11 Sheffield Shield table with victory by an innings and three runs over Victoria. Hopes was named the Sheffield Shield Player of the Series for 2010/11 at the State Cricket Awards in Hobart. Hopes finished season with averaged of 58.70 with the bat and 20.11 with the ball winning 23 votes won the award ahead of Tasmania allrounder Luke Butterworth. In 2011 Big Bash League, Hopes was signed with the Brisbane Heat. In IPL 2012, he signed Sahara Pune Warriors from Delhi Daredevils. Hopes was the second foreigner to be contracted by Warriors in the transfer window. But Pune Warriors had suffered a setback to their IPL preparations with a knee injury ruling out the Hopes. Hopes led from the front with a half-century in the first innings and a five-wicket haul in the second in 2011/12 Sheffield Shield final.
At the end of Queensland's 2016/17 Australian domestic season, Hopes retired from all cricket.
He made eight ODI appearances in 2004/05. He did not take more than a wicket in a match although his batting showed promise with a top score of 43 against Sri Lanka. Hopes was dropped from the squad at the end of the VB Series and missed the tour to South Africa, but when Shane Watson suffered a calf problem in Bangladesh he was replaced by his Queensland team-mate.
Despite the late-season promotion, Hopes was cut from the national contract list and told to re-impress in interstate competition. When another Watson injury occurred Hopes was put on World Cup standby before regaining his Cricket Australia deal.
Hopes' most productive day at elite level came in 2010 when his 5 for 14 ensured Australia would not be embarrassed by Ireland in an ODI in Dublin. The career-best figures were a deserved reward for a low-key player who pops in to deliver handy overs or scramble late runs. His 57 off 26 balls against West Indies at MCG was one of three career half-centuries, coming after he had been an ODI fixture for most of 2009. In 31 matches he scored 501 runs at 25 and added 27 wickets.
In 2007/08, he experienced a busy campaign with 24 ODIs as he took part in all of Australia's one-day series.
In March 2008, Hopes scored his maiden ODI half century during his 28th match, scoring 63 off 80 balls against India in the 2nd final of the 2007/08 Commonwealth Bank Series. His effort though was in vain as India went on to win the game and the series.
He has been a regular with the limited-overs squads, chipping in as an evenly balanced allrounder. A brisk medium-pacer who shapes the ball, he is also an aggressive and versatile batsman who has been used at the top and lower reaches of the order. Throughout his career he has had to fight for international recognition, battling with Shane Watson, Andrew Symonds, Cameron White and Steven Smith for game time.Sheffield Shield Player of the Series 2010/11