He represented two of the biggest clubs in his homeland, playing for Dinamo Zagreb before sparking controversy by making a move to their fierce rivals Hajduk Split in 2005. A transfer to England with Portsmouth soon followed in August 2006, and after several years of attempting to hold on to their key players, Portsmouth decided to sell him at the start of the 2009–10 season, opening the way for a move to Tottenham in September 2009, where he was reunited with his former manager at Portsmouth, Harry Redknapp.
Hailed as the next Robert Prosinečki, Kranjčar was given his international debut by his father Zlatko in August 2004. As of June 2012, Kranjčar has won 62 caps for the Croatia national team scoring 15 goals in the process.
Kranjčar spent most of his youth playing for Dinamo Zagreb, and later, at the age of 17, became the youngest captain of the squad for the first time. He also became one of the youngest goalscorers in the Prva HNL as he scored on his league debut for Dinamo at the age of 16 before helping them win the double of a Croatian cup and a league title in 2003 and then the Croatian cup again the following season. Such abilities and assistance led him to become a fan favorite, he began to receive comparison to French football legend Zinedine Zidane. However, in early 2005, he experienced a disagreement with the management, leading to a surprise transfer to Dinamo's biggest rivals, Hajduk Split. Nevertheless, he still managed to focus on his new club as he helped them to the Croatian title in his first season.
After the 2006 World Cup, the world press hailed Kranjčar for his talents, and several clubs immediately showed interest in the young star. Among such clubs were Stade Rennais and the Spanish Club Celta Vigo. In August 2006, Rennes bid €4.5 million for Kranjčar, which Hajduk rejected, stating they felt they should get more for the player. Later on the same day, however, Kranjčar then moved for a reported £3.5 million (€5.2 million) to Portsmouth on 31 August 2006.
Kranjčar made his Premier League debut for Portsmouth on 1 October 2006 as he played all 90 minutes in their 2–1 away defeat to Tottenham Hotspur. He scored his first Premier League goal on 31 March 2007 at Fulham, giving Portsmouth an early 1–0 lead in a match that eventually ended in a 1–1 draw. He made a total of 24 appearances and scored two goals in his first Premier League season. The following season, he played an integral role in Portsmouth's FA Cup win.
At the beginning of the 2008–09 season, AS Monaco apparently had a bid of £12 million rejected for Kranjčar, however this was denied by Monaco. On 12 February 2009, with Portsmouth battling relegation, Kranjčar publicly declared his desire to quit Portsmouth and move to a bigger club. Arsenal and AS Monaco have previously been linked with moves for the Croatian International. Everton manager David Moyes also expressed an interest in signing Kranjčar as a replacement for long-term absentee Mikel Arteta. In August, Kranjčar stated: "For now I am staying, but we have not strengthened like I would have liked us to. That's why I will not sign a new contract. It's one more season for me and then I'm off".
On 1 September 2009, Kranjčar joined Tottenham Hotspur from Portsmouth after the two clubs agreed a transfer fee of around £2.5 million, although the actual price was undisclosed. The deal was completed just before the transfer deadline passed with him signing a four-year contract. It was reported that Everton had made a late bid to sign Kranjčar, but the player opted to sign for Spurs, stating that: "Everton is also a big club but, in the end, the tradition and greatness of Tottenham made the difference. I also knew manager Harry Redknapp, and Luka Modrić and Vedran Ćorluka told me great things about the club". Kranjčar made his debut for Tottenham as a substitute in the 3–1 defeat to Manchester United at home. On 26 September 2009, Kranjčar made his first Premier League start for Tottenham in a 5–0 home thrashing of Burnley. He scored his first goal for the club in a Premier League match away to Bolton Wanderers on 4 October 2009. On 22 November 2009, Kranjčar scored for Tottenham in a 9–1 home thrashing of Wigan Athletic, with Jermain Defoe scoring a record equalling five. On 16 December 2009, Kranjčar grabbed a brace in a 3–0 home victory over Manchester City. On 20 March 2010, Kranjčar scored the winning goal in a 1–2 away victory over Stoke City. Kranjčar has found difficulty being chosen in starting line-ups, due to the rise in prominence of Gareth Bale, who also plays in his position. Whilst Bale has been out injured, Tottenham started with Kranjčar in two back-to-back matches and he scored the winner in both, against Bolton Wanderers in a 2–1 victory at White Hart Lane, and away to Sunderland in another 2–1 victory. In the beginning of the 2011–12 season, Kranjčar scored an 35 yard-goal during a pre-season friendly, a 5–3 win against Milton Keynes Dons.
On 6 June 2012, Dynamo Kyiv confirmed the signing of Niko Kranjčar on a four-year contract. The transfer fee is estimated in the region of £7 million. After his move to Dynamo Kyiv, Niko Kranjčar says he is "happy" and satisfied" of joining Dynamo Kyiv and does admits his time at Tottenham was ‘disappointing’. Kranjčar revealed that Dynamo Kyiv first took interest in signing him in 2003 during his time at Dinamo Zagreb.
Kranjčar was previously a part of the Croatian national Under-16, Under-17, Under-19 and Under-21 teams before advancing to the senior national team. His senior debut for Croatia came on 18 August 2004 in a friendly match against Israel. He was a regular for Croatia during their qualifying campaign for the 2006 World Cup, making nine appearances and scoring two goals, including a brilliant single effort against Bulgaria. Niko was then chosen for "Young guns firing for World Cup glory" on eurosport.com with some of the greatest talents in the world, such as Lionel Messi, Lukas Podolski and future Pompey team mate Sulley Muntari. He went on to play in all of Croatia's three group stage matches at the final tournament, proving to be a prestigious player for his impressive performances.
With the departure of his father as national team manager, Kranjčar became a regular for Croatia in their qualifying campaign for the Euro 2008, having appeared in all 12 matches, scoring two goals. The most famous of such was his long range opener for Croatia during their final match away to England. Croatia eventually won the game 3–2, resulting in England's failure to qualify for the final tournament. He then scored in a friendly match against Scotland with a spectacular effort just from inside the penalty area in a match played that ended 1–1, the equalising goal coming from Kenny Miller.