Bennett made a promising start to his career as a left arm orthodox spin bowler by making a successful foray into Sydney Grade Cricket for St. George in 1973–74 and was selected for the New South Wales combined schoolboy team. During the 1976–77 season, he broke into the New South Wales Colts, the state youth team. Playing in two matches for the summer, he took nine wickets at 10.44. In the second of these matches he scored 102 not out and took a total of 6/34 in an innings win over Queensland Colts. Despite this, he failed to gain selection in the youth team in the following season and he did not reappear until the 1978–79 season. He took six wickets at 12.66 but failed to make any impact with the bat, scoring 19 runs at 4.75. The following season, he played another two games for the Colts, taking five wickets at 28.80 and scoring an unbeaten 116 in one match.
However, the bespectacled Bennett was unable to break through to first-class level until his Sheffield Shield debut in the 1982-83 season at the age of 26. In his debut match against Western Australia, he took 2/74 from 52 overs including 25 maidens, his victims being for Test players Craig Serjeant and Tony Mann. He also scored an unbeaten 30 in a high-scoring draw. In the following match against Tasmania, he took 4/55 from 40.1 overs in another economical performance that featured 22 maidens, but was unable to prevent a seven-wicket defeat. Bennett went wicketless in the next match against South Australia, but did score an unbeaten 59, his maiden-first-class fifty. The spinner broke through for his first five-wicket haul in the next match against Western Australia. After taking 3/47 in the first innings, he claimed 5/39 to dismiss the Western Australians for 197. Of his match total of 65.2 overs, 39 were maidens.
This left New South Wales with a target of 230 and Bennett made 21 not out to see them to the victory with four wickets in hand. Bennett continued his strong debut season in the next match against England, taking 4/65 and 5/123. In the first innings, he denied Geoff Cook his century, having him caught by fellow spinner Holland for 99, and in the second innings he removed Cook again this time for 77, as well as top-scorer Chris Tavare for 147. He made 29 in the lower-order in the run-chase, but was unable to prevent a 26-run defeat. Despite this, Bennett had taken 23 wickets at 21.08 in his first five matches at senior level.
Bennett had less success in the second half of the season, only taking 15 wickets in the remaining eight matches, with a best of 4/9 against Victoria, totalling 6/106 for the match. His victims included Dav Whatmore and Dean Jones, removing both twice. New South Wales made the Shield final and Bennett was retained in spite of his modest late-season form. He contributed little in a narrow victory. His state batted first and contributed only in a total of 271. Bennett bowled economically, but was unable to take a wicket, conceding 50 runs from 29 overs as the Western Australians replied. In the second innings he managed only nine as New South Wales reached 280 to set a target of 293. Bennett was against wicketless, conceding 39 runs from 22 overs, but his colleagues were able to deliver with the ball and New South Wales won by 54 runs.
Bennett ended his debut season with 38 wickets at 28.26 and 356 runs at 32.36. He played in three one-dayers for his state taking three wickets at 30.03 at an economy rate of 3.03.
Bennett was rewarded with selection in a Young Australia team for a month-long tour of Zimbabwe. The squad played two first-class and two one-day matches against the hosts' national team. In the opening first-class fixture, Bennett scored 24 and totalled 2/49 as the tourists won by an innings. He then scored 21 and 35 in the Australians' 126 and 216 as the hosts squared the series; Holland took a total of 3/64. Bennett was not effective in the one-dayers; he took a total of 1/108 from 20 overs.
Known for his accuracy and his well-disguised arm ball, he quickly formed an integral part of the bowling attack that made the state the dominant domestic team in the Sheffield Shield in the 1980s. Forming a spin-oriented attack with Bob Holland (leg spin) and Greg Matthews (off spin), Bennett played in all of New South Wales' ten round-robin Shield matches, as well as two first-class fixtures against the touring England and Sri Lankan cricket team.
Bennett continued to struggle in limited-overs cricket the following Australian season. In the first match of the season against Western Australia, the opposition batsmen attacked him and he conceded 63 runs from his ten overs, scoring more than a third of their total from his bowling. As a result, Bennett was dropped from the one-day team for the rest of the season. The spinner maintained his position in the first-class team and played nine matches for New South Wales.
In his third Shield match, Bennett made a tail-wagging 46 as New south Wales made 245. He then took 5/15 to dismiss the South Australians for 101, and his state went on to a 109-run win. In the return match, Bennett made 48 not out and took 3/45 in a high-scoring draw. He also scored 54 and took 3/62 in a match against Tasmania. Bennett otherwise did not take more than two wickets in an innings and ended with 20 wickets at 36.55 and 202 runs at 25.25. New South Wales failed to defend their title and did not qualify for the final.
During the winter of 1984, Bennett travelled to England to play in the Lancashire League for Ramsbottom Cricket Club as their overseas professional. He started relatively slowly, taking 12 wickets in his first five innings with the ball.
Towards late June, he entered a strong run of form, taking 35 wickets in seven innings, claiming at least four wickets in each innings. Bennett scored five half-centuries with a best of 85 not out against Haslingden and best bowling figures of 7/27 against Lowerhouse. He took 83 wickets at 10.14 and scored 716 runs at 42.11.
Despite his poor domestic form in one-dayers, Bennett was selected for the Australian team on a One Day tour to India in 1984, making his ODI debut in the fifth and final match of the series in Indore, taking an economical 0/37 from his ten overs as the hosts made 5/235. He was not required to bat as the Australians completed a six-wicket victory. He then took 1/33 from his ten overs as the tourists defeated Bombay before returning to Australia.
In the 1984-85 Sheffield Shield, Bennett struggled to make the NSW team when not playing in Sydney, however, he made the most of his chance in the tour match against the powerful West Indians, the dominant team in world cricket at the time. Before this match, he had taken only two wickets in as many first-class matches for the season. In the first innings Bennett made an unbeaten 16 in his team's 287, before taking 2/53 to help dismiss the tourists for 212, securing a 75-run lead. His victims were Gus Logie and the leading batsmen in world cricket at the time, Viv Richards. In the second innings, he made six as the hosts collapsed for 129 to leave the Caribbean visitors with a target of only 205. He took 6/32 in the second innings, his best figures in first-class cricket, including the wickets of opener Desmond Haynes, Richards and captain Clive Lloyd to give NSW victory over the tourists by 72 runs. In the next match, Bennett continued his barren run and went wicketless against South Australia, and was dropped from the state team.
At the same time, the West Indies had won the first three Tests against Australia in a dominant fashion, and they had already sealed the series. The selectors brought Bennett into the team despite his lean form overall, because of his match-winning performance against the Caribbean tourists when they struggled against spin in the tour match.
The fourth Test in Melbourne saw Bennett make his Test debut over the Christmas holiday period. While not taking a wicket and totalling 0/90 at almost four runs per over without managing a maiden, Bennett made 22 not out in the first innings and survived the final overs of the match with the bat, remaining on 3 at the end. Australia had two wickets in hand to end the West Indies 11-Test winning streak, then a Test record.
For the fifth Test at the spin-friendly Sydney Cricket Ground, Bennett retained despite his wicketless debut and pair selected for the first time in combination with his NSW spin bowling partner, Bob Holland. The match unfolded in a manner similar to the New South Wales tour match. While Holland was the Player of the Match with 10/94 wickets, Bennett scored 23 and contributed 2/45 and 3/79. In the first innings, he removed wicket-keeper Jeff Dujon to claim his maiden Test wicket before removing Michael Holding for a duck to help finish off the tail.
In the second innings, Bennett removed Richie Richardson and then bowled Richards for 58 with an arm ball. Australia won the Test by an innings to end the West Indies' record of 27 Tests without loss.
Following his success in the Tests, Bennett was retained for ODIs. He had taken a total of 3/53 from 19 overs in his two domestic one-dayers for the season up to that point. Bennett played in the first five matches in the 1984-85 World Series Cup. In the first match at Melbourne, he bowled an economical spell of 1/23 from his ten overs, his maiden ODI wicket being Gordon Greenidge. Bennett's effort was not enough to stop the West Indies from reaching their target of 241 with seven wickets and more than five overs in hand as they scored quickly from his colleagues. He then returned to his home crowd at the SCG and took 1/44 from his ten overs, removing Brendon Kuruppu before the Australian batsmen completed a six-wicket win over Sri Lanka. In the next match in Brisbane, the West Indian batsmen began to get the better of Bennett after his success in matches earlier in the season. Bennett batted for the first time in ODIs and scored three as Australia were dismissed for 191. He was then attacked by the tourists, who took 21 runs from his three overs en route to a five-wicket win with more than 12 overs in hand. The series proceeded back to Sydney for the next match, but Bennett had no success on his home turf as the West Indies took 40 runs from his six overs and completed another five-wicket win. After taking 0/48 from nine overs in a defeat to Sri Lanka, Bennett was dropped for the remaining 11 ODIs of the Australian summer. He ended the ODI campaign with two wickets at 88.00 and an economy rate of 4.63.
Bennett returned to state duty and helped New South Wales complete their second Shield title in three seasons. He scored 22 and took 3/39 in the first innings of an innings win over Queensland. Bennett then played a match-winning role against Victoria. After making 19 of his state's 310, he took 3/47 to secure a 67-run first innings lead. Defending a target of 269 in the second innings, Bennett took 6/57 to secure a close-run 25-run win.
In the final, he took 2/54, removing Australian captain Allan Border and future international batsman Glenn Trimble, and then made 10 in the first innings as Queensland took a 56-run lead. In the second innings, he removed Trimble and Test batsmen Greg Ritchie in his 4/32 as New South Wales dismissed their opponents for 163 to set up a target of 220. In a tense finish, Bennett could only manage a solitary run before being dismissed, but New South Wales' last pair reached the target to seal the Shield.
Bennett was recalled to the limited-overs team and played his final 2 ODIs in the Four-Nations Cup in Sharjah. In their first match, Australia bowled first against England and restricted their opponents to 8/177; Bennett took 2/27 from his ten overs. Australia found their low run-chase to be difficult and Bennett came out in the closing stages, only to run out for a duck. Border's men scraped home by two wickets on the last ball to reach the final, where they met India. Bennett made a duck as Australia were bowled out for 139 and he took 0/35 from his ten overs as the Indians won by three wickets with more than ten overs to spare.
He was selected for the 1985 Ashes tour to England, but took only three wickets in four first-class matches of the Tests and was overlooked for the opening Ashes match. During June, Bennett was released from the squad to play for Church in the Lancashire League, and he took 11 wickets in two single-innings matches before rejoining the Test team. He only took 12 wickets in his next six county matches, but after taking 1/99 and 4/39 in the last of these games, which helped Australia to a seven-wicket over Kent, he was called up for the final Test of his career at The Oval. Australia were trailing 1–2 heading into the Sixth Test, and a win would have been enough for them to retain the Ashes. Bennett had little effect, taking 1/111 and scoring 12 and 11 as England won by an innings to win the series 3–1. His only wicket was that of Mike Gatting and he ended the tour with only 16 wickets at 47.87 and 111 runs at 15.85 in 11 matches.
Initially, Bennett accepted an offer to join the rebel tour to South Africa in 1985-86, who were banned from international sport because of their policies of apartheid. This would have earned him a suspension from mainstream cricket, but he withdrew at an early stage without financial inducement.—
Bennett was overlooked for national selection during the 1985–86 season and played in all of New South Wales's 11 Shield matches for the season. In the fourth match of the season, he took 4/56 in the second innings against the touring New Zealand, removing John Wright, John Reid, Bruce Edgar and Jeremy Coney. He then played a prominent role in consecutive Shield victories. Bennett made an unbeaten 55 in a rearguard fightback that took New South Wales to 286, before taking 4/47, helping his state to a 99-run first innings lead over Western Australia. The match was eventually won by 151 runs. He then took 4/38 and 3/32 in an innings win over South Australia. In these two matches, Bennett tied down the opposition; 44% of his overs were maidens and he conceded 1.39 runs per over. Bennett later took 4/71 against Victoria and was prominent in an innings win over Tasmania. He scored an unbeaten 57 and took 3/53 and 2/23. Bennett ended the season with 32 wickets at 27.40 and 300 runs at 33.33.
During the 1986–87 season, Bennett's bowling waned. In six Shield matches he took only nine wickets at 49.33 with a best of 3/79 against Western Australia. Although his lower-order batting still yielded 190 runs at 31.66, he was dropped in the latter stages of the season and missed New South Wales' victory in the Shield final. He was selected for only one limited-overs match; he had no success, conceding 34 runs from five overs without taking a wicket.
Bennett continued playing for NSW until the 1987-88 season. His last season was not a success. Playing in only five of the Sheffield Shield matches because of his lack of productivity, Bennett took only four wickets at 43.50 and scored 33 runs at 5.50, and was dropped for the last time in January. He was not selected in any one-day matches.
He finished his first-class career with 1437 runs at 23.95 including four fifties and 157 wickets at 30.92. He served as NSW Assistant Coach from 1991-92 to 1993-94 and as NSW Selector from 1990-91 to 1996-97.
Still heavily involved with the St George District Cricket Club, Bennett served as President for a time and the club's talent identification and development program is named the Murray Bennett Pathway. He was known to be selling insurance in 2007.