Another birdie on the final hole meant he finished on six-under-par 66 to set up an intriguing battle with Kaymer, a three-time event champion, while 22-year-old Belgian Thomas Pieters (67) is sandwiched between the two at 12 under.
The cut was applied at two-under 142, and prominent among those who will miss the weekend action are world No 2 Henrik Stenson and defending champion Pablo Larrazabal.
Stenson followed up his shocking opening-round 76 with a solid four-under par 68, while Larrazabal (72) dropped three shots on his back nine Friday to miss the cut by one shot.
McIlroy, who spent some time after his opening round practising with his driver, was delighted with how he played his second.
"I felt really good. I went to the range yesterday and worked a little bit on a couple of things, and I drove the ball much better today, which you need to do around here."
He claims to have made around 10 aces in non-competitive holes, but this was his first in a tournament.
"It definitely made up for the two previous holes (where he missed short birdie putts).
"As soon as it left, it looked like it had a chance. It took a nice little hop to the right. It's my first one ever in competition as a pro, so obviously beers are on me tonight."
Kaymer shot a bogey-free round and was pleased with his 67.
"I didn't miss many fairways, which gives you the opportunity to go for a lot of flags," said Kaymer, who similarly dominated in his previous Abu Dhabi wins and also in the US Open at Pinehurst last year.
Pieters, who made six birdies and joined Kaymer at the top of the leaderboard, made his only bogey of the day on the par-4 ninth, his final hole after starting from the 10th.
"I started off well, but just struggled a little bit coming in," said the man who lost to Miguel Angel Jimenez in a play-off at the Spanish Open last year.
- AAP