Division En ledare Middlesex, som fick 381 på Taunton att leda med 145, såg ansvarig när de reducerade Somerset till 59-3 och 126-4.
Men Trescothick, som gjorde 124, och Trego, fortfarande där på 115, delade 181 för att lämna tävlingen i balans.
Somerset stängde på 348-6, en fördel med 203 körningar.
På en yta som har blivit lättare att slåss som spelet har utvecklats, resultatet verkar sannolikt vila på längden på tiden Trego spenderar på vecket på den sista dagen.
Somerset skulle kanske vilja sätta upp ett mål på över 250, medan något mindre förmodligen skulle lämna Middlesex som favoriter.
Att hemmasidan, som i ett skede såg ut att besegras inom tre dagar, fortfarande är inne med ett rop är helt ner till Trescothick och Trego.
Opener Trescothick hade sett Johann Myburgh bowled erbjuda inget skott till Harry Podmore och kapten Chris Rogers skyffla samma bowlare för att peka på en anka.
Efter att James Hildreth fångats på glid från Ollie Rayners off-spin, hittade Trescothick lite stöd från James Allenby, men när han feljusterade ett drag till mitten av, Somerset var fortfarande 19 efter.
Men Trescothick, spelar karakteristiskt kraftfulla cover drives, och Trego, som kapitaliserade som Middlesex bowlare ofta föll kort, sammanställde sin enorma femte-wicket stativ för att dra värdarna tillbaka in i det.
Trescothicks 48:e Somerset hundra tog honom förbi Sir Viv Richards för att vara tvåa på den all-time listan, medan Trego avslutade sin 14: e första klass ton.
Först när James Harris hittade lite sen energi hade han både Trescothick och Craig Overton fångas, lämnar Alex Barrow att följa Trego till slutet.
Harris var tidigare den sista Middlesex Wicket att falla, fångad på glid av Tim Groenewald för 78, saknade en jungfru första klass hundra, precis som James Fuller, som föll till samma kombination för 93.
Marcus Trescothick och Peter Trego båda gjorde århundraden att dra Somerset tillbaka till strid med Middlesex på dag tre av County Championship match.