Mumbai City FC are enjoying their best season ever in the Hero Indian Super League after ending the league stage of Hero ISL 2016 at the summit of the table with 23 points from 14 games. The Mumbaikars look like a transformed unit under the tutelage of their Costa Rican head coach Alexandre Guimaraes and are virtually unrecognisable from the teams of the past two seasons that finished in seventh and sixth spots. Not only have Mumbai won more away games this season (3) than they did combined over the course of the past two seasons, their eight clean sheets are also the most by any team in the history of the league stage. They have also conceded the least number of goals (8) in the league stage of Hero ISL and are set to make their maiden semis appearance this year against Atlético de Kolkata. Here we have a look at their journey to the final 4 of Hero ISL 2016.Won 1-0 against FC Pune City: Alexandre Guimaraes’ men got their campaign underway by taking on Maharashtra rivals FC Pune City at the Shree Shiv Chhatrapati Sports Complex Stadium in Balewadi. It was a game of few chances and was decided by quality combination play between Mumbai’s marquee man Diego Forlan and Argentine Matias Defederico. An exquisite touch by Forlan set up Defederico perfectly on his left foot to power the ball beyond Edel Bete in the Stallions’ goal and give Mumbai their first three points of the season.Won 1-0 against NorthEast United FC: It was Mumbai’s first home game of the season and was another tight encounter that was decided by a goal. The Highlanders came into the match on the back of consecutive wins but a Diego Forlan penalty ten minutes into the second period made it two wins from two, while also ending NorthEast’s perfect record.Drew 1-1 with Atlético de Kolkata: Mumbai’s second match at home this season saw them take on 2014 champions Atlético de Kolkata. Matias Defederico gave the hosts the lead in the 27th minute to set them on course for their third win from as many games. However, a second yellow card to Pronay Halder in the 72nd minute gave ATK a chance of a late equaliser. Javi Lara made the man advantage count for ATK 11 minutes later as his deflected shot from range cancelled out Defederico’s goal, making it 1-1 at full-time.Lost 1-0 to Kerala Blasters FC: Mumbai’s loss came at the hands of a Kerala Blasters FC side desperate for their first win of the season. Buoyed by their passionate home support, Kerala managed to net the only goal of the game in the 58th minute through Michael Chopra to hand Mumbai their first defeat of the season.Drew 3-3 with Delhi Dynamos FC: An ebb-and-flow clash between Mumbai and Delhi Dynamos ended with the astonishing score-line of 3-3 after 90 minutes of thrilling action in the capital city. A first-half brace by Krisztian Vadocz gave the visitors a 2-0 lead at the break before goals by Delhi’s Richard Gadze in the 51st minute and Mumbai’s Sony Norde in the 69th minute made it 3-1 for Guimaraes’ men with 20 minutes left on the clock. A goal by Lions substitute Badara Badji in the 76th minute was followed by an equaliser from the spot by Marcelinho in the 82nd minute as the teams shared the spoils after an entertaining draw.Lost 1-0 to FC Goa: Mumbai succumbed to their first loss at home this season at the hands of FC Goa. The only goal of the game came five minutes before the break as Goa’s Richarlyson executed an expert half-volley from a Julio Cesar free-kick to help the Gaurs bag their first three points of the season at the expense of Mumbai. Won 1-0 against Atlético de Kolkata: It was Mumbai’s second encounter of the season against Kolkata and this time the visitors managed to get the better of ATK after conceding a late leveller to them the last time around. Forlan scored the only goal of the game 11 minutes from full-time after a deflected attempt on goal by Sony Norde from the left made its way to Mumbai’s marquee man.Drew 1-1 with Chennaiyin FC: Mumbai rescued a late point in their first meeting against the Super Machans this year. Hosts Chennai took the lead through Jeje Lalpekhlua in the 51st minute and looked to be heading towards a win. Leo Costa, however, had different plans as he unleashed a stunning effort from range that kissed the inside of the post and went into the back of the net to earn a point for Mumbai.Won 1-0 against NorthEast United FC: The Mumbaikars did the double over the Highlanders with the same 1-0 score-line that had seen them claim maximum points earlier in the season in Mumbai. This time the scorer for Mumbai was Jackichand Singh as the diminutive midfielder was on hand to tuck Sony Norde’s assist into the back of an open net after the Haitian had dispossessed NorthEast’s keeper Wellington Gomes.Lost 1-0 to FC Pune City: The second Maharashtra derby saw Mumbai lose for the third and final time in the league stage this year. Pune returned the favour by the same 1-0 score-line after being at the receiving end earlier in the season. Super-sub Eugeneson Lyngdoh scored the goal for the visitors a minute from full-time after Albino Gomes fumbled while attempting to catch a cross.Drew 0-0 with FC Goa: Mumbai played their last away match of the league stage this year against Goa in Fatorda. Both teams had their chances of winning this game, however, neither team was clinical enough on the night as the game ended in a goalless draw.Won 5-0 against Kerala Blasters FC: Mumbai produced their best performance of the season yet against Kerala at home as they ran riot and beat the men in yellow 5-0. Forlan was on song for Mumbai and gave them an early lead before making it 2-0 inside 15 minutes. He completed his hat-trick in the second half. In doing so, the Uruguayan maintained Mumbai’s record of being the only side to have netted a hat-trick in all three editions of the league. Cafu and Lucian Goian were the other two scorers on the night.Won 2-0 against Chennaiyin FC: Mumbai exhibited another solid performance against Chennaiyin in their penultimate league stage game of the season to become the first team to secure a berth in the semi-finals this year. Guimaraes’ side dominated the game with Defederico scoring in the first half before Vadocz doubled the advantage in the second to secure their maiden semis appearance.Drew 0-0 with Delhi Dynamos FC: Mumbai’s last match of the game saw them face Delhi with both teams already guaranteed a place in the final 4. With neither side willing to commit too many men forward in attack, it ended 0-0 and cemented the Mumbaikars’ position at the summit of the table.