The Spaniard took his winning streak to 50 sets in a row with a 6-3 6-4 win over Diego Schwartzman, the world No.16, in the Madrid Open.
Nadal, 31, broke McEnroe's 49-set winning run, achieved on carpet in 1984.
"When my career is over, these are things that are going to be there for always," he said afterward.
"They are big records. It's difficult to be able to win 50 sets in a row. But I've done it. Well, it's done. It's over. Let's not talk about that any more and let's continue on what we have ahead, which is what I am concerned about."
Five-time champion Nadal -- who has won in Barcelona and Monte Carlo this year -- will next play Dominic Thiem for a place in the semifinal.
Fifth seed Thiem, who came from a set and a break down to defeat Croatian Borna Coric 2-6 7-6 (7-5) 6-4, was the man Nadal beat in last year's Madrid Open final.