Hanif's first-class career was already adorned with the 970-minute 337 at Bridgetown the previous year. The Karachi Parsi Institute Ground hosted the Quaid-e-Azam semi-final between Karachi and Bahawalpur. Hanif batted from the first morning and added 256 with Wallis Mathias. He passed Bradman's 452 — set for South Australia in 1929-30 — late on the third day.
With a few minutes left on the third day's play, the scoreboard showed Hanif on 496. He had in fact, by the official scorers, reached 498. Trying for the run that would take him to 500 on the same day, he played the penultimate ball past point and ran one. He set off for a tight second to retain strike. The fielder threw to the wicketkeeper's end and ran him out by more than a yard. Karachi declared overnight at 772 for 7. Hanif's 499 stood as the highest first-class score in cricket history.
Karachi won the match by an innings and 479 runs. Bahawalpur, dismissed for 185 and 108, were no match for the home batting. Hanif took with him the consolation that he had passed Bradman; his disappointment at the missed 500 lasted a lifetime.