On completion of his SASI program in 2000, Iain joined hometown NSL club Adelaide City. After just three appearances off the bench in 2000–01, he broke into the Adelaide first team the following season, making 52 appearances in two years before moving to Sydney Olympic in 2003. He also earned a call up to the Australian Under-23 side for a friendly against Spain, but it would be the only one. Domestically, his move was positive, becoming a key figure for Olympic, playing all-but-one matches of the 2003–04 season.
Following the collapse of the NSL after that season, Fyfe went overseas and trialled at various clubs, including Scottish Premier League side Hibernian, before signing for Hamilton Academical in the Scottish Second Division. There he played alongside fellow Australians, David Carney as well as childhood friend and former Adelaide City teammate Scott Tunbridge. Fyfe struggled to break into the Hamilton first team, making only fifteen appearances before being released in early 2005.
Partnered next to first Mark Rudan and later Jacob Timpano, Fyfe was in the Sydney first XI for much of the A-League season. However, he was dropped to the bench for the penultimate round due to inconsistent form. Several strong performances from Rudan kept him there, making only one start and three appearances off the bench in the club's last five games, although a missed match was through suspension. In the A-League grand final, Fyfe played an important role in defending Sydney's 1–0 lead over the Central Coast Mariners, having replaced injured Mark Rudan with 20 minutes remaining.
In the 2006–07 season, Fyfe was shifted to a wide defensive role by new coach Terry Butcher, who opted to play Mark Milligan in midfield rather than his usual right back position. The impact of the move was immediately apparent with Fyfe, goal-less in the previous season, scoring the winning goal against Central Coast in the opening round and netting again in the 3–2 loss to Melbourne Victory a week later. He went on to play every match of the season up until Sydney's semi-final exit. Strong performances led to another call up to the national team, included in the A-League-based Australian side for the 2007 Asian Cup qualifier against Kuwait on 16 August 2006, but again did not make an appearance.
During the Pan-Pacific Championship Iain played his 100th competitive game against Major League Soccer Glamour team Los Angeles Galaxy. Sydney went on to lose the match 2–1, with Sydney's goal coming from Brendan Renaud. He was Sydney's most capped player, and most consistent, only missing 3 competitive matches, in the 3 years Sydney have played in the A-League.
On 24 November 2008, it was announced in November that Iain had signed a contract with Adelaide United commencing April 2009; this brings Fyfe back to Adelaide where he began his career after 5 years playing in Sydney and Scotland. Starting all the games in the opening of his first season back at Adelaide, Fyfe's first goal allowed his club to equalise against Wellington Phoenix in round five.
He scored his second goal for Adelaide in a 1–1 draw against Central Coast Mariners in Round 2 of the 2010–11 season. On 14 January 2011, It was announced that Iain would be joining K-league club Busan I'Park FC. His farewell game for Adelaide was meant to be on 29 January 2011 against Central Coast Mariners at Hindmarsh Stadium, but due to a hamstring injury his last game was on 21 January 2011 against North Queensland Fury when they won 8–1.
In January 2011, Fyfe joined South Korean club Busan I'Park. Fyfe made his first start and debut for Busan I'Park in their 2–1 away loss to Jeju United in the first week of the 2011 K-League season.
On 29 February 2012, it was announced that Fyfe had signed a one-year undisclosed contract with club Adelaide United after his contract with South Korea K-League club Busan I'Park.
He was linked to a move to the Iran Pro League in summer 2013. On 2 August 2013, Mes Kerman announced that Fyfe will be joined to the team after passing medical test. He officially joined to the team on 10 August and signed a two years contract. He made his debut in a 1–0 loss to Saipa.
In November 2016, Fyfe signed a short-term deal to return to the A-League with Newcastle Jets as an injury replacement for Daniel Mullen, joining from South Australian club Campbelltown City.
Fyfe started his career in 1999, joining a talent identification program at the South Australian Sports Institute, and was soon exposed to the international football stage. He was selected for the Australian U17 side in qualifying matches for the 1999 FIFA U-17 World Championship and retained his place in the Joeys squad for the final tournament in New Zealand. Australia marched through to the final against Brazil, the match ending scoreless after extra time and proceeding to penalties. Fyfe entered the match as a substitute in extra time to secure the defence, but in the shoot-out he was tasked with Australia's ninth penalty kick. His shot was dramatically saved by goalkeeper Rubinho, allowing Brazil to take the title.
On 16 February 2005, Iain Fyfe returned to Australia became the 16th member of the inaugural Sydney FC squad. Playing at centre back under coach Pierre Littbarski, Fyfe was instrumental in Sydney's qualification for the 2005 FIFA Club World Championship, being named Player of the Tournament for the 2005 Oceania Club Championship. This prompted his inclusion in a Socceroo training camp with new manager Guus Hiddink, and his inclusion on the substitutes bench for the World Cup qualifier against Solomon Islands.Sydney FC
A-League Championship: 2005–06
Oceania Club Championship: 2005
National Premier Leagues South Australia: 2016
OFC U-17 Championship: 1999
Oceania Club Championship Player of the Tournament: 2005
(correct as of 4 February 2014)
'International Cup' matches refer to AFC and Club World Cup competitions.