The 40-year-old fired a free kick through the wall and then was brought down by Roger Ibanez for a penalty, converted by Franck Kessie.
Theo Hernandez saw red for a second bookable offence and Stephan El Shaarawy set up a tense finale with his goal in stoppages.
“It was a great performance, we played with a lot of confidence and our style,” Ibrahimovic told DAZN.
“We knew it wasn’t easy, Roma were unbeaten at home this season, but we played really well and must continue with this belief and tempo.”
The goal was his 400th in domestic league competitions, but also frankly a rare direct free kick for the Swede.
“Every now and then, I pull a surprise!! You must always give it a go, as failure is part of success, so you keep trying.”
It was pointed out to him that the free kick was travelling at 101km/h.
“Ah, it usually goes quicker! At least 200! I think I must be slowing my shot in old age!” he grinned.
There was insulting chants from the Roma fans, which he reacted to after the goal.
“I need the jeers, the more they jeer, the more alive I feel. Adrenaline brings so much. We want to win, especially when playing such a big game and a man down. We showed we’ve all got character and can suffer under pressure too. The lads put in a great performance.”
Ibrahimovic was asked if he trusted that Milan would secure the Scudetto at the end of this season.
“We’ll try. We believe in this, we’ve done well so far, but it’s a long season and we must continue to be consistent in our work. We believe, but it’s early days. Take it one game at a time.”
40-years-old and still going strong! 🍷
Zlatan Ibrahimovic scores his 400th domestic league goal with a superb free-kick for Milan 🤌
What a player. pic.twitter.com/Y5y7KV7pie
— Football on BT Sport (@btsportfootball) October 31, 2021