Gareth Andrew and Moeen Ali collected career-best figures as Worcestershire earned a 12-run victory under lights at New Road.

Seamer Andrew claimed five for 31 while spinner Moeen picked up three for 32 and also ran out Jacques Rudolph as Yorkshire were denied a first win in any competition for six weeks.

The South African appeared to be control of the run chase despite a flurry of wickets at the other end, but when he departed for 68 with his side still requiring a run-a-ball 34, Yorkshire's hopes were dashed.

He added 57 with Andrew Gale for the opening wicket before Gale was bowled by Andrew for 24, and the same bowler swiftly removed pinch-hitter Rana Naved-ul-Hasan and skipper Anthony McGrath.

Adam Lyth steadied the ship with a 51-run stand with Rudolph before Moeen got in on the act, bowling Lyth behind his legs and Jonathan Bairstow through the gate with successive, turning deliveries.

Tim Bresnan was next to go for five, caught by Steve Davies off Moeen before Rudolph found another sound ally in Rich Pyrah.

The pair put on 31 before Rudolph reverse swept Gareth Batty before setting off for a suicidal run, Moeen's precise throw beating him back to the crease.

Pyrah contributed a battling 27, but he fell victim to Chris Whelan before Andrew grabbed Yorkshire's last two wickets.

Quick wickets

Earlier, Worcestershire overcame a mid-innings wobble to post a competitive total after Davies and Stephen Moore put on 68 for the second wicket.

Moore came to the crease following the first ball dismissal of Vikram Solanki, the former England batsman edging Deon Kruis to Rudolph at first slip.

Davies capitalised on being dropped on the mid-wicket boundary having made 10 to make 46 off just 38 balls as Moore dropped anchor at the other end.

However, the pair fell in swift succession - Bresnan bowling the former before the latter took a careless swipe and was caught behind.

Matthew Hoggard celebrated his first call-up to the one-day side of the season by removing Ali, who played on, while Ben Smith was run out by Pyrah attempting a silly run.

At 90 for five the Royals were in deep trouble but Mitchell came to the rescue with a well-crafted 49, adding 37 with Batty (16), 26 with Andrew (14) and 37 with Whelan (11).

Mitchell was run out in the final over attempting to reach a deserved fifty but his efforts proved to be enough in the end.