Rabada struck first, trapping Imam-ul-Haq leg before wicket for nought .
Steyn claimed his 422nd Test wicket when Fakhar Zaman edged him to third slip for 12. The dismissal sparked exuberant celebrations from Steyn's teammates. Rabada lifted the 35-year-old onto his shoulders as other players rushed in to congratulate him.
The latest victim came just over 14 years since Steyn's Test debut against England and the scalp takes him past Shaun Pollock's record of 421 which had stood since he retired in 2008.
Steyn's haul has come in 89 matches, at an average of 22.60, while Pollock averaged 23.11 across 108 matches.
"He is a true leader of the attack and deserves the record," said Pollock, who was commentating for a TV station at the time of the wicket.
The record would have been eclipsed earlier had Steyn not suffered a series of injuries, which kept him out of 27 Test matches.
He took his 400th Test wicket in his 80th Test in June 2015 but then was ruled out of action with a groin injury midway through a Test in India later that year, before two shoulder injuries.
He returned for the series against India in January 2018 but suffered a heel injury in the first Test which caused him to miss the rest of the series and the subsequent series against Australia.
Before the groin strain, he had played in 48 consecutive Tests from December 2009 to November 2015 and was top of the ICC Test bowling rankings for a record 263 weeks.
Steyn is now 11th on his own on the all-time list, needing to better New Zealand's Richard Hadlee on 431 to claim a place in the top 10.
The list is led by the Sri Lankan spinner Muttiah Muralitharan who took 800 Test wickets.