But despite scoring twice in one of his earliest appearances for the club, Forssell found it hard to find a place in the Chelsea first team, and he was sent out to various loan spells, twice to Crystal Palace of the then First Division, once to Borussia Mönchengladbach of the German Bundesliga and twice to Birmingham City of the Premiership. Forssell scored seven Bundesliga goals for Mönchengladbach in the spring of 2003 and then 17 Premiership goals for Birmingham in the 2003–04 season, during which he was the division's joint fourth highest goalscorer. He returned to Birmingham on loan for the 2004–05 season, but suffered the second serious knee injury of his career, which ruined his season.
In the summer of 2005 Forssell joined Birmingham on a three-year deal for a fee of £3 million, after Chelsea decided that he did not figure in their long term plans. He struggled in the 2005–06 season, not having found his best form after his injury, and couldn't save Birmingham from relegation. Forssell suffered another cruel injury blow to his other knee during training in October 2006. This left him on the sidelines until he returned to training in February 2007 after undergoing operations on both knees. He was set to take a medical at Hamburger SV but it was reported that he failed. He remained at Birmingham to have another go at resurrecting his career.
His 2007–08 pre-season performances were good, he scored five goals in five games. His manager, Steve Bruce, was enthusiastic about his return to form. He continued his good form into the start of the season, scoring the opening goal of the match against Chelsea and consolidating his good form with two assists in the next three matches. He scored his first hat-trick at club level on March 1, 2008, in the 4–1 win over Tottenham Hotspur. This was the last hat-trick to be scored in the that season of the Premiership.
In May 2008, following the club's relegation from the Premier League, Forssell signed a pre-contract agreement to join Bundesliga club Hannover 96 on a free transfer when his Birmingham contract expires at the end of June. His contract with Hannover will run until the end of the 2010–11 season.
On his pre-season debut for Hannover, he scored a staggering 10 goals (he got his hat-trick in 8 minutes) in one game against amateurs FC Boffzen. The game ended up in being a 23-0 win for Hannover.