Derbyshire 199 for 4 (Hosein 56*, du Plooy 55) trail Middlesex 260 (Robson 93, Malan 72) by 61 runs
The respective captains became just the fifth and sixth batsmen in Division Two to reach 1,000 Championship runs for the season on the campaign's penultimate day. Only Warwickshire's Dominic Sibley has managed the feat in Division One.
Malan's came in a score 72 out of a Middlesex total of 260, while Godleman achieved four figures when reaching 19, going on to make 27 as Derbyshire replied with 199 for 4.
The loss of much of the first two days to rain means without contrivance this game will peter out on the final day of the season on Thursday.
Middlesex began a day which started 45 minutes late on 199 for 5 and Malan, left on 999 for the season overnight, raised his landmark by stroking his first ball to the cover boundary, but departed soon afterwards, lbw to Luis Reece, who claimed 4 for 61.
Reece claimed his fourth wicket when Toby Roland-Jones was lbw playing no shot before Fynn Hudson-Prentice mopped up the tail, leaving James Harris 25 not out.
Godleman and Reece started with a flurry of boundaries, the openers added 49 in fewer than 10 overs before Ethan Bamber removed the latter lbw for 26 with the score on 49. When Wayne Madsen went the same way first ball Bamber was on a hat-trick, but excitement got the better of him as a leg-stump delivery on the hip was tucked away for two runs by new batsman Leus Du Plooy.
Nevertheless, Derbyshire were 55 for 3, having lost three wickets for six runs, when Godleman edged Roland-Jones to Malan at slip.
Du Plooy and Alex Hughes steadied matters with a stand of 48, but Tim Murtagh returned to have the latter caught by Miguel Cummins at wide mid-off just before tea.
The third session saw Derbyshire in charge, du Plooy finding an ally in wicketkeeper Harvey Hosein, the pair prospering against Middlesex's seamers who persistently banged the ball in too short. Hosein was first to reach 50 from 80 balls with six fours, while Du Plooy took 31 deliveries more, but with eight boundaries.
Bad light ended play shortly afterwards meaning another 16 overs were lost in this weather-ruined fixture.