In both clubs' debut season in the Italian top flight Frosinone were faring the better with two wins from their last four, but it was the visitors who started brightly here with Marco Borriello testing the home defence and goalkeeper with an early run and shot from distance.
Daniel Ciofani had the first opening for the hosts when his effort from 12 yards was kept out by Vid Belec, before Ryder Matos spurned an opportunity at the other end when he could only head Gabriel Silva's cross wide of the target.
Both sides had speculative efforts to take the lead in a close first half, but it took just six minutes after the break for the deadlock to be broken when Federico Dionisi played in Ciofani to fire home.
Luca Marrone picked up Borriello's pass on the edge of the box and turned to fire a low shot into the bottom corner and restore parity, and the drama continued five minutes later as both sides were reduced to 10 men.
Borriello was shown a straight red card for a bad challenge on Danilo Soddimo, who was handed a second yellow card for his incensed reaction, to leave just 20 men on the pitch for the final 18 minutes.
It was to be the hosts who would capitalise on the extra space on the field, as Dionisi played in Sammarco to smash high into the net from close range in injury time and snatch all three points from Frosinone.