Rogers, the 35-year-old left-hander, hopes to return to the Australia side against England this summer after being included in their Ashes squad five years after he won his only cap against India at Perth. Robson, 12 years his junior, will qualify for England by residence next year after deciding that he wants to play for them rather than Australia, who he represented at under-19 level.
Both players completed their centuries off 185 balls, Rogers having hit nine boundaries and Robson 14. By the time Robson was caught behind hooking at a short ball from Zander de Bruyn, they had turned Middlesex's 172-run deficit into a lead of 87.
Robson had made 129 off 223 balls with 17 fours and, although Joe Denly was soon caught at second slip off Jade Dernbach, Rogers was still there at the close.
He had scored 131 off 240 balls including 10 fours and will lead his side into the final day 111 ahead with eight wickets in hand.