After impressing coaches at the NCA, Irfan got several offers from first-class teams including Habib Bank and ZTBL. However it was KRL opener, Azhar Ali, who convinced KRL coach Rashid Iqbal to give Irfan a trial with Khan Research Laboratories (KRL). Azhar had seen Irfan take 4 wickets against Pakistan A and had immediately called KRL telling them that Irfan would be a good fit for their team. Irfan went for the trial and got selected.
He made his first-class debut in the QEA Trophy in October 2009 playing for Khan Research Laboratories. He bowled economically but was unable to take any wickets in a high scoring game. In his second first-class game, Irfan took 7–113 in the second innings and 9 wickets overall in the match. His first wicket in professional cricket was of young Pakistani international batsmen Ahmed Shehzad. He also took the wicket of Imran Farhat and injured Hasan Raza with a bouncer before taking his wicket.
Irfan continued to impress early on in his first-class career. In his third match he grabbed 11 wickets to help his side to the first win of the championship. He recorded 5/27 in the first innings and 6/96 in the second innings.
Before he was offered a lucrative break in cricket, Irfan contemplated giving up the game and was working for a plastic pipe company. He confirmed his height as 7'1" which makes him the tallest first-class cricketer of all time above county players Anthony Allom, Paul Dunkels and Will Jefferson, each individually measured at 6'10".
Irfan announced that he had signed a memorandum of understanding with Kolkata Knight Riders (KKR) to represent them in the 2011 IPL Season. This deal is only valid as long as the PCB and the BCCI give their approval. The main reason for Irfan being given a trial with KKR was because former Pakistani pace-bowler Wasim Akram recommended Irfan to the KKR management. Irfan's contract will earn him $75,000 plus another $2,000 dollars for every game he plays in. However the contract needs to be approved by the Board of Control for Cricket in India Irfan's contract also requires approval from the Pakistan Cricket Board
At 28 years of age Mohammad Irfan made his debut for the Pakistan national cricket team. Irfan was brought in to replace Pakistan's two prominent and core bowlers Mohammad Amir and Mohammad Asif, who were accused of spot fixing. This was a perfect opportunity for Irfan to shine for Pakistan as they looked to move forward without their two great bowlers. However, Irfan's ODI debut against England in 2010 saw a reduction by 9 overs in the match due to bad weather conditions. He finished the match with bowling figures of 0–37 off 5.3 overs, before going off the pitch with cramps. During this early stretch in his career, many were displeased by Irfan's performance. This was mainly due to his speed in the debut series against England; it underwhelmed many as it only showed 130–135 km/h on the velocity radar. To make matters worse, England had won the match by 24 runs. Irfan was dropped after the series and was not brought back until the India series on 25 December 2012.
Irfan made his Twenty20 International debut against India in the first Twenty20 International match on 25 December 2012 when the Pakistani team was touring India. Irfan was seen as a prominent figure in the series win against India as he emerged as the wild card that propelled Pakistan to victory. In this series he displayed marked improvement as his bowling speeds reached 145 km/h, rising from the 135 km/h he had over two years ago. At 7`1 and bowling at brisk pace, Irfan brings a new dimension to the Pakistan bowling attack.
Irfan's improvement did not go unnoticed, as the Pakistan selectors touted him "the surprise package" in South Africa in March 2013. Irfan did not disappoint as he consistently troubled the South African batsmen with his pace and height. Irfan finished the first innings with 3 wickets and 1 maiden in 21 overs, conceding 86 runs with an economy rate of 4.09. In the second innings Irfan was unable to take a wicket, returning figures of 0-35 off 10 overs.
Irfan was suspended from all forms of cricket on 29 March 2017 by the PCB for failing to report two approaches to corrupt the game during the 2017 Pakistan Super League. The suspension was backdated to the 14 March 2017, the day that he was initially provisionally suspended. In addition, Irfan was fined PKR 1 million. Irfan can have his suspension lifted after six months if he assists the PCB in its ongoing investigations and doesn't breach the anti corruption code during that time.