In 2007, McFarland was turned down in his request to play in the OHL because of a Hockey Canada provision.[2] Instead McFarland played the 2007–08 season with the Toronto Jr. Canadiens, where he accumulated 165 points, with 96 goals, and 69 assists.[3] McFarland was named the tournament's most valuable player at the 2008 OHL Showcase tournament, where he captained the Jr. Canadiens to an OHL Cup win.[4]
The Sudbury Wolves drafted McFarland first overall in the 2008 OHL Priority Selection.[3] McFarland was the winner of the Jack Ferguson Award, which the OHL presents annually to the player picked first overall in the OHL Priority Selection.[4] He then signed with the Wolves in August 2008.[5] McFarland played his first OHL game on September 19, 2008. McFarland scored his first goal in the OHL on October 17, 2008 against goaltender Trevor Cann from the Peterborough Petes in a 5–4 win.[6] He then went on to win the OHL Rookie of the Month for October 2008, finishing the month with 5 goals and 6 assists for 11 points in 12 games.[4]
On December 9, 2010, Sudbury traded McFarland (along with defenseman Ben Chiarot and a third-round pick in 2011) to the Saginaw Spirit in exchange for Michael Sgarbossa, Alex Racino, Frank Schumacher and a fourth-round pick.[7][8]
After four seasons as a professional within the Florida Panthers organization, McFarland left as a free agent to sign a one-year contract with Finnish club, SaiPa of the top-tier Liiga on July 24, 2016.[9]
McFarland spent two seasons abroad, with SaiPa of Finland and Swiss second division outfit HC La Chaux-de-Fonds before opting to return to North America as a free agent, and later securing a one-year AHL contract with the Bakersfield Condors, an affiliate to the Edmonton Oilers, on August 1, 2018.[10] In the 2018–19 season, McFarland opened the campaign with the Condors before he was reassigned to ECHL affiliate, the Wichita Thunder. He registered 4 assists in 10 games with the Thunder, before returning to the Condors. On February 1, 2019, McFarland was released from his contract with the Condors after opting to retire from professional hockey.[11]
During his rookie season in the OHL, McFarland competed for Team Ontario in the 2009 World U-17 Hockey Challenge on Vancouver Island where his Team Canada won the gold medal.[12] He was the tournament scoring leader, with a total of 12 points, and was also on the tournament all-star team.[13]