Middlesex captain Chris Rogers played another starring role to help his side assume a commanding position against Northamptonshire on day two at Wantage Road.
The Australia Test opener went past 22,000 first-class career runs during his innings of 106, sharing a 190-run stand with Dawid Malan (92) as Middlesex closed on 262-3 in reply to Northants' 283 all out.
Rogers led from the front once again after pace bowler Toby Roland-Jones had helped mop up the Northants tail to end with impressive figures of 6-55.
The 36-year-old Australian overcame the loss of opening partner and England hopeful Sam Robson for just six to register his second century of the season and 68th of his distinguished first-class career.
He struck 17 boundaries and forged a fluent second-wicket partnership with fellow left-hander Malan, who fell six runs short of a century of his own.
Rogers perished soon after reaching three figures when Matt Spriegel snuck a delivery into his stumps, and then Malan chipped Andrew Hall to Ben Duckett at midwicket having found the rope 16 times.
Neil Dexter (35 not out) and Joe Denly (20no) saw Middlesex through to the close with a stand of 36 to leave Division One's bottom side with just a 21-run lead and seven first innings wickets still to take.
Defending champions Durham failed to cash in after winning the toss against Somerset and have left themselves plenty of work to do if they are to clinch their first win of the season at Taunton.
Paul Collingwood's men were skittled for just 155 on the opening day as Somerset seamer Alfonso Thomas (5-41) ran amok.
Thomas and Peter Trego (2-35) combined beautifully with the new ball to prize out Durham's top six batsmen - only Scott Borthwick (59) offering up any resistance in seam-friendly conditions.
Captain Collingwood (32) and Gordon Muchall (30) were the only other Durham players to reach double figures.
Somerset lost Marcus Trescothick (golden duck) and Nick Compton (7) in reply, but Johann Myburgh had reached 28 not out by the time the hosts closed on 51-2.