Starting his career in FC Viikingit before moving to HJK in the Finnish top league in 2003, he debuted in 2003. His 2005 season ended badly with a serious injury in the middle of the season. Same injury came later in the beginning of 2007 when he again missed half of the season due to this fracture in his right leg. This was also his last year in HJK as he signed to a Swedish club GAIS after a tip off from former Finnish national team coach Roy Hodgson as a bosman. However, before he ever had a chance to make a debut for GAIS he moved to the Allsvenskan rivals Malmö FF. Before signing with GAIS, he was on trial with Italian Atalanta and Leeds United. The Norwegian clubs Start and Molde IF, as well as a few unknown Danish clubs were also interested to sign him, but found him too expensive.
Malmö FF
Following a disappointing couple of years with Malmö FF with a knee injury, Halsti reinvigorated his club career by heading in the 3–2 goal against Kalmar FFaway from home in April 2010, which ultimately won Malmö the match. In the same game he also got injured, and due to this injury he missed most of the 2010 season. In 2010 Malmö FF won the league just ahead of their rivals Helsingborgs IF. Halsti played as a central defender and right defender positions during the 2011 season. He scored his second goal for the club in the away derby match against Helsingborgs IF, which eventually ended in a 2–2 draw. In 2011 Malmö FF was close of qualification to the Champions League, first winning Rangers FC away 1–0 where Halsti played as a right back, and then getting 1–1 draw at home in a game where Halsti was injured once again. In the end GNK Dinamo Zagreb went to the Group Stage of the tournament by only one goal marginal, as they first won home 4–1 but then lost 2–0 in Malmö. Halsti played in both games, making a goal pass to 1–1 goal in Zagreb. Malmö still qualified to the Europa League in the same group as AZ Alkmaar, FC Metalist Kharkiv and FK Austria Wien. In the group Malmö didn't have much chance as they got only 1 point in 6 games. AZ Alkmaar and FC Metalist Kharkiv qualified to the quarter- finals of the tournament but were both beaten there. Halsti played totally three games in the competition. For the 2012 season, Halsti found himself in tough competition for a starting spot, and only received limited time on the pitch for the first part of the season. After the summer break, manager Rikard Norling decided that he wanted to play Halsti as a central midfielder, a position where the team needed reinforcement. In total Halsti played 13 matches for Malmö FF during the 2012 season, the majority as a midfielder. After the end of the season Halsti was offered a new contract lasting until the end of the 2014 season. Halsti extended his contract on 3 December 2012. During the 2013 season, Halsti became an integral part of the Malmö side that secured the championship in late October 2013. Halsti continued to play as a central midfielder during the season and played 28 matches and scored two goals in his most successful season yet at the club. Halsti scored the only goal of the game in the last minutes of the first half in the home fixture against title contender AIK on 11 August 2013. He later scored the club's last goal of the season in the 3–1 win against Syrianska FC at home on 3 November 2013. For the 2014 season Halsti sporadically captained Malmö FF and was officially selected to the Allsvenskan Team of the Year. Halsti made 26 league appearances during his last season at the club as well as participating in all 12 matches of the club's 2014–15 UEFA Champions League campaign.
D.C. United
On 12 January 2015, it was announced that Halsti had signed with MLS club D.C. United on a free transfer. Halsti missed the first several months of the 2015 MLS season due to a knee injury, before making his debut in an away loss to the Philadelphia Union on 17 May 2015. Over the course of the season, Halsti made sporadic starts in central midfield for United, eventually garnering an extended run in the starting eleven during the final months of the season. Halsti also started all three of United's matches in the 2015 MLS Playoffs and made three appearances in the club's successful advancement from the group stage of the 2015–16 CONCACAF Champions League. Halsti and D.C. United mutually parted ways on 25 May, 2016.
Midtjylland
In June 2016, Halsti joined Danish Superliga side FC Midtjylland.
International career
Halsti made his debut for the Finnish national team on 6 February 2008 in a friendly match against Greece. During 2013, he became a regular squad player, and was played in several defensive positions.