James McFadden has joined Birmingham from Everton for an initial fee of £5million after agreeing personal terms and passing a medical.
The Goodison Park club confirmed the completion of the deal on their website on Friday morning.
The deal has gone through in time for McFadden to be available for Saturday’s visit of Chelsea.
Birmingham manager Alex McLeish, who coached McFadden when in charge of the Scotland national team, said: “I am delighted to have signed James. He is not just a guy who can score great goals. He can also create things and make things happen and he has got a big heart.
“He is the type of player you know you are going to get everything from for the entire 90 minutes of a game.
“He has matured. He has had his initiation at Everton in the Premier League and for me he is a definite Premier League player. He has shown that in a very good Everton side this season.
“When he has come into the side, I am not so sure anyone has looked as good as him.”