In April 2002 at the Australian Age Championships, Sullivan won the 50 m freestyle and came second in 100 m in his age group, and swam at the Trans-Tasman series.
At the 2004 Olympic trials he grabbed a spot in the 4x100 Freestyle relay team by finishing fourth in the final. At the 2004 Summer Olympics in Athens Eamon was the youngest male in the Australian Olympic Team and improved his Personal Best in the heat time that gained him a spot in the final of the 4 × 100 m freestyle, in which Australia was dethroned in the event they had won 4 years ago in Sydney.
In July 2005 he was sidelined with a hip injury and missed the World Aquatics Championships.
In March 2006 he won gold in 4 × 100 m medley and silver in 4 × 100 m freestyle at the 2006 Commonwealth Games in Melbourne, setting a new Commonwealth record. He also swam in the 4 × 100 m freestyle relay to capture silver. In December, at the Australian National Championships he broke the 50 m national record in 22.00 s.
In July 2007 Sullivan won the 50 m free at the Santa Clara International Invitational Grand Prix in California in 22.30 s. In the same month he clocked 21.62 s to slash 0.07 s off Brett Hawke's seven-year-old 50 m Short Course Australian record at Telstra Grand Prix2 in Canberra. He set another National Record at FINA/ARENA World Cup at SOPAC in the heats of the 100 m freestyle clocking a time of 47.29 s shaving 0.26 s of his previous best set in Canberra earlier that year.
Eamon has also sustained several injuries throughout his career. He has struggled with hip problems and has had allegedly 6 hip operations, along with numerous shoulder sprains.
At the 2008 Beijing Olympics, leading off Australia in the men's 4 × 100 m freestyle relay final he set a new world record for the 100 m freestyle with a time of 47.24 seconds, winning bronze. In the subsequent individual 100 m freestyle, Sullivan emerged as the fastest swimmer from the heats and semi-finals, Alain Bernard of France re-claimed the World Record set by Sullivan in the relay with a time of 47.20 s. Five minutes later, Sullivan reclaimed the World Record in the second semi-final in time of 47.05 s. In the finals, Sullivan won the silver medal, edged out by Bernard by 0.11 s. In the 50m final, Sullivan finished in a disappointing 6th place.
Just two weeks before the 2009 World Aquatics Championships in Rome, Sullivan was ruled out from competing due to a virus. Two months later, Sullivan's training camp came to an end when he underwent an appendectomy. He was attending a high-altitude training camp in Flagstaff, Arizona, when he became ill. Eamon Sullivan was a member of the controversial Australian Olympic swimming team during the 2012 Summer Olympics in London, and competed in the Australian men's 4 × 100 metre relay team. The squad and team were hounded by allegations of bullying, alcohol and drug abuse and he made a media appearance to both acknowledge and deny specific allegations, along with team members Tommaso D'Orsogna, James Magnussen, Cameron McEvoy and Matt Targett.
At the 2014 Australian Trials in Brisbane Sullivan made his comeback official, winning the 50m freestyle, securing him a spot on the roster for the Commonwealth Games team.
In July 2014, Sullivan announced his immediate retirement from competitive swimming, citing ongoing injury as the overriding factor in his decision to retire.
Sullivan became the fastest swimmer in history after he broke the world 50 m freestyle record at the 2008 NSW Open Championships at Sydney International Aquatic Centre. He timed 21.56 to slash 0.08 off the 21.64 set by the Russian Alexander Popov at Moscow in June 2000. However his time was beaten to 21.50 by French Alain Bernard on 23 March 2008, He significantly improved his last PB standing at 22.00 s. He declared he had had positive feelings of being in a good form for the race earlier on. Shortly after, he swam for West Coast club in the 4 × 100 m freestyle Relay and clocked 48.11 s, cutting 0.07 off Michael Klim record set for Australian relay at the 2000 Olympics. His time was also a Commonwealth record, knocking 0.06 s off the previous time gained by South African Roland Schoeman.
On 27 March 2008 at Australian Olympic Trials at the same venue he regained his title as the 50 m freestyle world record holder with a time of 21.41 s, then broke his own record a day later with 21.28 s. He was bettered by Frédérick Bousquet with a time of 20.94 s on 26 April 2009.
On 11 August 2008, he broke the 100 meter freestyle world record in the first leg of the 4x100 relay with a time of 47.24, Australia finished under the previous world record, broke the Oceania record and finished third in the relay in a time of 3.09.91. Before the Olympics, the Australian record was 3.13.67 in winning the event at the 2000 Sydney Olympics. On 13 August 2008, after losing his world record to the previous holder Alain Bernard, Sullivan clocked 47.05 s to set another world record. The 100m free record was then broken by Brazilian sprinter César Cielo at the 2009 FINA World Championships on 7 July 2009 and now stands at 46.91.
Sullivan won the first series of Celebrity MasterChef Australia beating Kirk Pengilly and Rachael Finch. In 2011, Sullivan competed in the third season of the Channel Seven television series Australia's Greatest Athlete. He also made a guest appearance in the third season of MasterChef Australia, cooking the Chocolate Délice dish that earned him the 'title' of Celebrity MasterChef in 2009. In 2013, he became a team captain on the Australian version of the panel show A League of Their Own.
Sullivan competed in the fourteenth season of Dancing with the Stars, and was the fourth person eliminated.
After his retirement from swimming, Sullivan now manages several restaurants in and around Perth, in Western Australia.
In April 2016, Sullivan married Perth lawyer Naomi Bass.