Man Utd held their own in the first half, but there was a warning sign just before half-time when Raheem Sterling fired at David De Gea from close range.
And City came out firing in the second half and took the lead in the 53rd minute. Bernardo Silva ran at Luke Shaw and unleashed a low shot which beat De Gea at the near post.
Sergio Aguero then it the base of the post before sub Leroy Sane doubled City’s lead in the 65th minute with another shot which De Gea should have repelled.
“We got a reaction and in the end we were beaten by a better team. But we got a reaction from fans and players and had a go. You can see the work-rate was there, it wasn’t good enough,” Solskjaer told Sky Sports after the match.
“There is a difference in quality. That is why they are top and we are where we are. They have set the standard. Living in Manchester we cannot be happy with that. It is up to us to close that gap and overtake them.
“Today you can’t say that any of them didn’t run. You could see clearly an intent and focus. We just need to keep working on it.”
City are back above Liverpool in the race for the Premier League title, knowing three more wins would see them retain it for the first time. United, meanwhile, suffered another blow in the race for the top four and have now lost seven of their last nine games in all competitions.
“City want to win it back and by their aggression to win it back there will be fouls,” he added. “They keep the ball high and are hungry to win it back. They stopped us very well.
“David [De Gea] made some terrific saves as well today. It is every day work for everyone. He has high standards. When we are having a time like this we need to stick together, batten the hatches down and keep working. We have to come back fighting on Sunday.”