Agolli began his career with his hometown club Tirana as a child at age of 9, progressing through the ranks of the club. He eventually joined the first team in the 2000–01 campaign, where he made his debut as a teenager. He made 10 league appearances for Tirana before being sent out on loan to fellow Albanian Superliga side Apolonia Fier in January 2003 to help the club in their battle to avoid the drop. Agolli played 12 times and scored one goal for Apolonia Fier but the side were narrowly relegated to the Albanian First Division on goal difference. Despite experiencing relegation, the six-month loan was a successful one for Agolli as he gained more first team experience and returned to the champions Tirana before the start of the 2003–04 season.
After spending two years at Tirana, he was spotted by Swiss club Neuchâtel Xamax in July 2005, where he made 32 appearances and scored four goals.
After one season at his new club, he decided to move to another Swiss club, Luzern. Things did not work out for him at Luzern, so he moved away from Switzerland in January 2007 on a free transfer to play in Finland with Vaasa PS.
At Vaasa, Agolli made 33 appearances and scored 1 goal. In July 2008, he decided to move back on loan to his first club Tirana. Agolli was part of a very successful season at the club as Tirana finished top of the league, making 36 appearances and scoring five goals.
He returned to Vaasa at the end of April 2009 with a representative of KF Tirana to negotiate a permanent transfer to the Albanian club. The clubs quickly reached an agreement and the transfer was finalised on 4 May. Suddenly at the beginning of July 2009 he moved to Kryvbas in the Ukraine Premier League for a big transfer fee, linking up with compatriots Ervin Bulku, Dorian Bylykbashi and Isli Hidi who were also members of the Albania national football team. Agolli made 13 appearances for the club.
In July 2010, he moved on loan to Qarabağ in the Azerbaijan Premier League until the end of December 2011. Then in January 2012, he made the loan move permanent for a fee of £30,000.
On 22 February 2013, Agolli scored a goal to give his team a 3–2 win away to Ravan Baku. Agolli scored a goal on 4 October 2013 against Baku in a 3–0 victory. In the 2014–15 season, his solid performances led him to be named the team's Player of the Season for the first time in his career. At the end of the season, Agolli agreed a contract extension with Qarabağ, keeping him at the club until June 2016.
Agolli won the 2014–15 Azerbaijan Premier League and participated in the 2014–15 UEFA Europa League group stage. He was rated as the best defender of the 2014–15 season following his excellent running form and also was rated as the 4th best player overall.
On 22 April 2016, Agolli played his 228th match for the club across all competitions in the 2–0 home win against Inter Baku, becoming the foreign player with the most appearances for the club, surpassing the record of his compatriot Admir Teli.
Agolli won the 2016–17 Azerbaijan Premier League 2 weeks prior the end and it was their 4th consecutive championship won by Qarabag.
In the end of the 2016–17 season Agolli renewed his contrat for another 1 year.
In the 2017–18 UEFA Champions League Third qualifying round second leg against Sheriff Tiraspol on 1 August 2017, Agolli provided 1 assist for the Míchel's goal in the 86th minute to help Qarabag win 2–1 and to qualify in the next round after agreggate 2–1.
Agolli debuted in international level with Albania national under-21 football team on 11 October 2002 in the 2004 UEFA European Under-21 Championship qualification against Switzerland U21 in a goalless draw. He played 6 matches in total during the qualification campaign as Albania were ranked 3rd in a 5-teams group.
Agolli made his debut for Albania in the match against Kazakhstan in a 2006 FIFA World Cup qualifier on 3 September 2005, coming on as a second-half substitute in place of Altin Haxhi. He scored his first international goal in a friendly match against Georgia on 10 June 2009.
On 16 November 2015, aged 33, Agolli captained Albania for the first time in his 58th appearance, playing the full 90 minutes in a 2–2 home draw against Georgia at Qemal Stafa Stadium.
On 21 May 2016, Agolli was named in Albania's preliminary 27-man squad for UEFA Euro 2016, and in Albania's final 23-man UEFA Euro 2016 squad on 31 May.
Agolli was named Albania's second acting captain under coach Gianni De Biasi for UEFA Euro 2016. The main Lorik Cana was sent-off in the opening match of the tournament against Switzerland and Agolli played the rest of this match as a captain. Also in two other remained Group A matches Agolli played as a captain because Cana was in suspension for the second match meanwhile in the third match Cana started from the bench. Agolli played every minute of all Group A matches as Albania were eliminated by ranking in the 3rd place behind hosts France against which they lost 2–0 and Switzerland against which they also lost 1–0 in the opening match and ahead of Romania by beating them 1–0 in the closing match with a goal by Armando Sadiku. Albania finished the group in the third position with three points and with a goal difference –2, and was ranked last in the third-placed teams, which eventually eliminated them.As of 27 August 2017
As of 5 September 2017
As of 2 September 2017
. Albania score listed first, score column indicates score after each Agolli's goal.
Albanian Superliga (3): 2003–04, 2004–05, 2008–09; Runner-up: 2000–01, 2001–02
Albanian Cup (2): 2000–01, 2001–02; Runner-up: 2004–05, 2008–09
Albanian Supercup (3): 2000, 2002, 2003; Runner-up: 2001, 2004
Azerbaijan Premier League (4): 2013–14, 2014–15, 2015–16, 2016–17; Runner-up: 2012–13
Azerbaijan Cup (3): 2014–15, 2015–16, 2016–17
Qarabağ Player of the Season (1): 2014–15