Milan had given the Premier League leaders until Friday to accept the club's bid for the want-away striker, announcing the capture of Lopez on loan soon after the deadline expired.
"We were ever so close with City," Milan Managing Director Adriano Galliani told Milan Channel. "If someone had asked me at 17:30 GMT who would be coming, I would have said Tevez. But we've left things well with City and the misunderstandings have been overcome.
"The market opens again in four months, so perhaps it will be just a few months of separation with Carlitos. I did everything I could to bring him in. It was heart in the mouth stuff right up until the deadline."
Lopez, who had been waiting in the wings after being heavily linked to the Rossoneri for weeks, was signed on a loan deal that gives Milan the chance to buy the player outright at the end of the season.
"I kept my promise to Maxi and when we had not reached a deal with City, we stamped his contract with the league. Maxi will be a useful player for us. He can also play in the Champions League."
Lopez, 27, who played alongside Tevez in Argentina's youth teams, scored 22 goals in 66 games for Catania following stints with Gremio, FC Moscow, Mallorca, Barcelona and River Plate.
Tevez has not kicked a ball for City since September after being banned and fined by the club for refusing to warm up during a Champions League match.
He has been linked with moves to AC Milan, Inter Milan and Paris Saint-Germain.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.