Hassli began his career at his hometown club Sarreguemines FC. In 2000 Hassli moved 40 miles (64 km) west to play for Metz. In 2002, he moved on loan to England to play for Southampton. He scored two goals in eight matches for Southampton's reserve side but made no appearances for their first team. Southampton decided not to sign Eric Hassli permanently and so he returned to Metz.
Six months after returning from Southampton Hassli was on the move once again. He moved to Switzerland to play for Neuchâtel Xamax in the 2003–04 season. His time at the club was not a success as he struggled to break into the first team. He managed just thirteen appearances, scoring two goals. At the end of the season he moved to Geneva to play for Servette of the Swiss Challenge League. However, on 4 February 2005 the parent company of the club was declared bankrupt. It had run debts of over 10 million Swiss francs, having not paid the players since the previous November, and consequently the club suffered an exodus of players looking for paying clubs. Hassli left to join St. Gallen of the Swiss Super League, a club in the very east of Switzerland.
The transfer to St Gallen proved the making of Hassli. His time at the club enhanced his reputation as he scored 18 goals in 47 games.
At the end of the 2005–06 season. Hassli attracted the attention of plenty of clubs and returned to France to play for newly promoted Valenciennes in Ligue 1 during the 2006–07 season. Back in France he had to settle for a place in the reserves as he only made 21 appearances, scoring 2 goals.
At the end of the season he returned to Switzerland to play for FC Zürich. During his first season at the club, the 2007/08 season, he struggled to find his rhythm. In February 2008, Daejeon Citizen in the K-League attempted to bring Hassli, but they could not bring him due to his high transfer fee. He remained at the club despite this and during the 2008/09 season he regularly topped the goalscoring charts. While with Zürich Hassli scored 35 goals in 108 competitive matches.
On 4 March 2011, Hassli signed with the Vancouver Whitecaps FC of Major League Soccer as the team's first designated player. Swiss media reported that Hassli was granted an early contract termination by FC Zürich, allowing him to leave on a free transfer to Vancouver. He made his debut for the Whitecaps on 19 March 2011, in a game against Toronto FC, scoring two of his team's four goals, one of which was the club's first goal in MLS competition. In the Whitecaps' 11 June 2011 match against the Seattle Sounders, Hassli scored two goals: the first from the penalty spot; the second a volley from an apparently harmless position on the right edge of the 18 yard box that flew into the top left hand corner. The latter has been called one of the best goals in MLS history.
In a May 2012 Canadian Championship match against Toronto FC, Hassli scored with a volley in stoppage time. The goal was nominated for the 2012 FIFA Puskás Award.
On 20 July 2012, Hassli was traded from the Whitecaps to Toronto FC in exchange for a first-round pick in the 2014 MLS SuperDraft and an international roster spot. Hassli remained a Designated Player for Toronto FC, with Toronto needing a replacement for Danny Koevermans who suffered an ACL injury. Hassli made his debut for Toronto on 4 August, in a 2–1 loss at the hands of Chicago Fire, Hassli was subbed out in the 61st minute for Andrew Wiedeman. Hassli scored his first goal for Toronto in his second game as a red on his home debut against Portland Timbers 15 August, the game ended in a 2-2 home draw.
On 4 February 2013, Hassli was traded from Toronto FC to FC Dallas in exchange for a second-round 2014 MLS SuperDraft pick. Hassli and FC Dallas mutually parted ways ahead of the 2014 season.
On 18 March 2014, the San Antonio Scorpions announced that Hassli had signed for the 2014 season. The franchise ceased operations following the 2015 season.
On 2 December 2014, Hassli made his only appearance for indoor squad Las Vegas against Ontario Fury in the Major Arena Soccer League (MASL).