Leroy Sane is also available, with midfielder Fernando the only doubt. Fernandinho will serve the second game of a four-match ban.
Kevin De Bruyne has been ill in the week but has recovered and should be fit for selection.
Ahead of the match, boss Pep Guardiola tried to ease the expectation on Kompany, after a series of injuries which have disrupted the Belgian’s playing time.
He said: “It’s the second or third time we are talking about that (Kompany’s recovery).
“Hopefully, he can stay for long and after I will see his level. We cannot deny how good he is at his top level.
“But everyone needs time when they have been injured for a long time. He has a strong mentality and he knows what he has to do.
“He can concentrate on simple things, playing as a central defender, then game by game, week by week, he will achieve his level.
“Sometimes you need time, in this business we don’t have time, but he has to feel that he has time to come back, the way he has to come back.”
Guardiola also confirmed that striker Gabriel Jesus is not eligible to play in the game.
Kompany has not featured since injuring his knee against Crystal Palace in November, Fernando has been out since the Boxing Day win over Hull, while Sane hasn’t featured since the win over Arsenal.