Alex Nicholls suffered a broken leg in scoring as Northampton ended 10-man Port Vale's seven-game unbeaten run.
Nicholls pounced on Rob Taylor's back pass and rounded keeper Chris Neal to put the Cobblers ahead.
But he was caught late as he shot by John McCombe, who was sent off, and the game was held up for 11 minutes while the striker received treatment.
Substitute Louis Moult fired in the second from Adebayo Akinfenwa's lay-off as Northampton eased to victory.
Akinfenwa wasted a chance to make it 3-0 when he headed wide, while Vale's Ashley Vincent was denied by home keeper Lee Nicholls after breaking clear.
Northampton's win was a welcome boost after back-to-back defeats against Barnet and Bradford.
But their joy would have been tempered by the injury to 24-year-old Nicholls, whose goal was his eighth since joining in the summer from Walsall.
An ambulance was brought on to the Sixfields pitch to take Nicholls to hospital and a total of 15 minutes of stoppage time was played at the end of the first half following the long delay.
VIEWS FROM THE DRESSING ROOM
Northampton Town manager Aidy Boothroyd told BBC Radio Northampton:
"They've taken Alex Nicholls straight into an operation. He's got a compound fracture of his tibia and fibula.
"His mum, dad and his little girl and wife are all up at the hospital and that's where I'll be going.
"We're absolutely gutted for him. It's a goal scorer's goal and a brave goal. But I know that John McCombe didn't mean to cause the damage that he did. These things happen.
"It takes the edge off a fantastic victory."
Sorry, we were unable to load match stats, please try again.