Worcestershire are celebrating their first victory of the season in the LV=Insurance County Championship after overpowering Derbyshire by an innings and 23 runs at New Road.
Derbyshire resumed on 112-6 and lost their last four wickets in just 8.2 overs as they were dismissed for 128.
Dillon Pennington completed the first five-wicket haul of his career and finished with figures of 14-4-32-5.
It enabled him to enjoy a career-best performance for the second day running after his 4-44 in Derbyshire innings.
He ended with match figures of 33.4-8-76-9 as Worcestershire claimed 23 points to boost their hopes of finishing in the top two.
They dominated the game in all departments.
There were solid batting contributions down the order in topping 400, disciplined bowling throughout from the entire attack and excellent catching behind the wicket.
It was the perfect response to heavy defeats away to Durham and Nottinghamshire.
Club Captain Joe Leach picked up the prized wicket of Madsen, who had resumed on 43.
He had looked set to complete his 11th 50 plus score in 19 innings against Worcestershire.
But Madsen added only two more before edging a fine delivery and was caught by keeper Ben Cox.
Pennington opened the attack from the New Road End, and in the next over, he accounted for new batsman Ben Aitchison before he had scored.
He found the thinnest of edges, but it was sufficient to provide Cox with another straightforward catch.
The game quickly came to a conclusion with Sam Conners (0) playing onto Pennington.
It was all over when Dustin Melton (1) edged Alzarri Joseph to Daryl Mitchell at slip.