Solskjaer made four changes to the side that drew 0-0 with Crystal Palace during the week, with Anthony Martial, Daniel James, Victor Lindelof and Scott McTominay coming in to the Red Devils starting XI.
With David de Gea still absent following the birth of his daughter, Dean Henderson is in goal, and Cavani missed out altogether after pulling up in training.
Manchester United travelled across the city to the Etihad on Sunday in third place in the Premier League, 14 points behind Pep Guardiola’s side, who have won 21 matches in a row.
Solskjaer said: ‘He [Cavani] had to come off training yesterday. He didn’t feel right unfortunately. But Anto [Martial] is ready so that’s good news.’
Guardiola has made three changes to the side that beat Wolves 4-1 on Tuesday night, with John Stones returning in defence in place of Aymeric Laporte.
Oleksandr Zinchenko and Ilkay Gundogan also start for Premier League champions-elect Manchester City in replace of Kyle Walker and Bernardo Silva.
Ahead of the Manchester derby, Solskjaer said: ‘It’s always the perfect game to get everyone going again.
‘You get tested against a very good team, in form. As a Manchester United player we know how much this means for our fans.
‘For this team, we’ve had some of our best moments against City, away and at home. We’ve seen how we can do it. You’ve got to defend well, and you’ve got to attack well.
‘The butterflies come into play, you know, the blood is boiling, you’re getting ready, thinking, ‘This is a test for me and this is a challenge’.
‘These are the challenges you sign up to when you sign for Man United because you perform in these big games, that’s the next step for us.’