Viola sweep Catania, Napoli draw
Matri had only scored once in six months for AC Milan but now has more goals for Fiorentina after a brilliant first half.
Mati Fernandez opened the scoring for Fiorentina, which moved three points behind Napoli in the race for third place and the final Champions League berth after the Naples club were held to a 2-2 draw by 10-man Bologna.
Napoli thought it had won after goals from Gonzalo Higuain and Jose Callejon but Rolando Bianchi scored his second of the game in the final minute.
There was more misery for Inter Milan, which lost 1-0 at Genoa for its third defeat in five league matches.
In the earlier kickoff, 10-man Lazio fought back after twice trailing to win 3-2 at Udinese. Elsewhere, it was: Chievo Verona 1, Parma 2; Atalanta 1, Cagliari 0; and Sassuolo 0, Torino 2.
Milan plays Hellas Verona later in Clarence Seedorf's first match in charge.
With Giuseppe Rossi and Mario Gomez injured, Matri was handed his Fiorentina debut days after joining on loan from Milan, and it did not take the former Juventus striker long to have an impact as he set up Fernandez for the opening goal in the 25th minute.
Matri got on the scoresheet three minutes later, getting the better of his marker to slide home Manuel Pasqual's pass. He doubled his tally four minutes from halftime when Catania goalkeeper Alberto Frison did brilliantly to deny Fernandez but Matri tapped home the rebound.
Matri was substituted at the start of the second half as a precaution after picking up a knock.
Fernandez almost scored his second of the match on the hour mark but hit the crossbar.
It was a disappointing return to the Catania bench for coach Rolando Maran, who had been sacked and replaced by Luigi De Canio in October.
Relegation-threatened Bologna had held Lazio to a draw last week and was looking to continue its unbeaten run under new coach Davide Ballardini.
It took a surprise lead eight minutes from halftime when Bianchi got in front of Raul Albiol to head in Alessandro Diamanti's cross.
Napoli strove for the equalizer and its hard work paid off shortly after the hour mark when Higuain smashed home a penalty after Panagiotis Kone bundled over Blerim Dzemaili.
Callejon fired Higuain's cross into the far corner 10 minutes from time and Napoli looked set to take all three points when Kone was sent off for a second booking four minutes later.
However, Bianchi drove home Diamanti's corner to snatch a draw.
Inter is eight points behind the top four as its miserable run continued.
Luca Antonelli was left unmarked to head home a corner seven minutes from time. Inter has won just one of its past eight league matches.
Udinese is just three points off the drop zone after a third straight defeat. It took the lead in the eighth minute when Pedro Luis Cavanda tripped Maicosuel and Antonio Di Natale converted the resulting penalty for his first goal since October.
Lazio midfielder Ogenyi Onazi was sent off 10 minutes into the second half after picking up two bookings in quick succession.
However, Lazio leveled when Antonio Candreva fired home from the spot after Miroslav Klose was fouled by Maurizio Domizzi.
Udinese restored its lead in the 68th with a scorching volley from Emmanuel Agyemang-Badu.
Lazio equalized eight minutes from time when Zeljko Brkic's punch clear hit Andrea Lazzari and bounced in for an own goal.
Substitute Hernanes snatched the win in stoppage time.
Bologna, Sassuolo and Chievo are all level on 17 points, four more than bottom two clubs Livorno and Catania.
In Verona, Parma almost got off to the perfect start when Marco Parolo hit the post early on but it was Chievo that took the lead in the 15th minute.
Parma goalkeeper Antonio Mirante did brilliantly to deny Alberto Paloschi and Simone Bentivoglio's follow-up came off the crossbar but Paloschi - who played for Parma - netted the rebound.
Former Chievo forward Amauri should have leveled in the 24th but saw his penalty saved by Christian Puggioni after Perparim Hetemaj had handled.
Parma did level four minutes later when Antonio Cassano marked his return to the starting lineup with a fine strike from the edge of the area.
And the visitors scored a winner deep into stoppage time when Cassano picked out Alessandro Lucarelli and his shot glanced off Puggioni's gloves and into the back of the net.