Vila started his career with his hometown team, Teuta Durrës in 2006. He made his debut on 26 November 2006 in an away match against Partizani Tirana. Vila came on for Bledar Mancaku in the 77th minute of the game. His first goal came in only his 8th career appearance on 10 March 2007 against Luftetari Gjirokaster. Vila was on the pitch for the full 90 minutes and scored the opening goal in the 47th minute. The match ended 3–0 for Teuta Durrës after two further goals by Daniel Xhafa and Bledar Mancaku.
He signed a 4-year contract with Croatian champions Dinamo Zagreb on 19 June 2009 and was sent on loan at fellow Croatian side Lokomotiva Zagreb without playing any match for the club.
After a brief spell in Croatia, Vila decided to return in Albania where he signed with capital club of Dinamo Tirana for a fee of $55.000, with Vila earning €30.000 a season. He made his debut with Dinamo on 25 January 2010 in the first match of the second part of the season against Tirana, playing full-90 minutes in a 2–1 win.
Vile reached a verbal agreement to join international team mate Andi Lila at Greek side PAS Giannina on 30 June 2011, and completed a medical the next day to complete his move. He scored his 1st goal in the Superleague Greece in the match against Panaitolikos, by scoring the winning goal of his team in the 71st minute. He also helped his team achieve its 2nd away consecutive win against PAOK, by scoring his 1st goal of his team on the 7th minute.
In August 2014, Vila signed with the second most successful team in Albania, Partizani Tirana, returning in Albania after three years absence. He signed a one-year contract with an option to extend for another year. During his presentation, he said that he returned in Albanian to win the league with Partizani. One day later, he and his friend Idriz Batha flew out to Bulgary to link up with the rest of the squad on their summer training camp. After summer transfer window was closed, Partizani had bought 32 players, a record in Albanian football. The Albania senior team coach, Gianni De Biasi, asked about Vila's transfer, said that Vila made a mikstake by returning in Albania. But, however, Albanian Football Association president Armando Duka turned against his opinion, saying that Villa did not make a mistake by moving to Partizani.
He made his debut for the club on 24 August in week 1 of 2014–15 Albanian Superliga against Laçi, where he played 78 minutes in a 1–1 away draw. In the next match against Apolonia Fier, which ended in a 1–0 away disappointing lose, after a penalty missed by capitain Nderim Nexhipi, Villa was chosen as the new penalties taker. Vila debuted in Qemal Stafa Stadium with Partizani in the third league match against current champions of Skënderbeu Korçë, scoring a penalty kick that was won by Serbian forward Stevan Račić in the 90th minute; that was his first goal of the season and the first league win for Partizani. After the match, he dedicated the goal to his coach Shpëtim Duro and to the club fans.
On 26 October, in the match vaild for the 9th week against Elbasani at home, he had the opportunity to score his second goal of the season from penalty spot, but his powerful shot was saved by veteran goalkeeper Elvis Kotorri, however, Partizani still managed to prevail 1–0 against the newly promoted side, thanks to a goal by Stevan Račić. He ended his first part of the league by scoring once in nine appearances, with Partizani who finished the first part of the season with 18 points, tied with rivals of Tirana as a leader.
On 20 September 2015, Vila signed a six-month contract with Azerbaijan Premier League side Inter Baku PIK.
On 20 January 2016, Vila signed a one-and-a-half contract with his former club Partizani Tirana, returning there for the second part of 2015–16 season. On 13 May 2016, with the match against Skenderbeu approaching injury time, he scored a full volley goal to give Partizani the 1:0 victory and retain the title hopes alive.
Vila made his debut for the full national team on 11 June 2009 in a friendly match against Georgia, starting and playing 80 minutes in a 1–1 home draw. He scored on his second international appearance against Cyprus at home to help Albania to win 6–1, recording the biggest win in its history.
He also played for the national team in a friendly against Milan at Qemal Stafa Stadium which ended 3–3. Vila scored one of the goals however that goal was not count for statistics of the senior team, because the match was not played against another national team.
He scored his third goal for Albania on 8 June 2014, playing as a starter against San Marino and scoring the third goal in the 73rd minute in an eventual 3–0 away win.Scores and results list Albania's goal tally first.
As of 30 October 2014
As of 21 October 2014
Albanian Superliga (1): 2009–10