Dawid Malan's blistering century saw Middlesex into the final day of English cricket's Twenty20 Cup as they beat Lancashire by 12 runs at The Oval despite a fine all-round display from Andrew Flintoff.

In a match played at the headquarters of Middlesex's arch-rivals Surrey, the Surrey-born but South Africa-raised Malan needed just 51 balls to reach three figures here Wednesday with six sixes and 10 fours.

The 20-year-old rescued Middlesex, who were playing this 'home' match at The Oval because their Lord's base was being prepared for Thursday's first Test between England and South Africa, from the depths of 21 for four.

Flintoff, omitted from the series opener with the Proteas because the England selectors want to be certain he is fully match fit after ankle and side injuries, took three for 17 in four overs.

He then struck a quick fifty, greeting the entry of former England off-spinner Shaun Udal into the attack with two sixes over long-on, but fell to a catch by man-of-the-moment Malan at deep square leg off Steven Finn.

Despite Flintoff's efforts, Lancashire fell just short of their victory target of 177.