The current study examines macro-economic and bank specific determinants of non-performing loans (NPLs) for commercial banks from 2008–2018. The Pakistani banking sector has observed a significant increase in NPLs. In addition, the current study is undertaken to fill this gap in the literature as most of the prior studies focus on the developed markets. In the current study, we prefer the system GMM estimator. Its reliability depends on the validity of the instruments. To testing the second-order serial correlation, we apply the J test for testing the validity of the instruments and the Arellano–Bond AR (2) test. Using dynamic-GMM estimations, we find that credit growth, net interest margin, loan loss provision, and bank diversification significantly increase NPLs, while operating efficiency, bank size, and ROA lower NPLs. In addition, higher interest rates, exchange rates, and political risk significantly increase NPLs, while GDP growth decreases NPLs. This paper provides a timely insight to management and policy makers about the determinants of NPLs. The findings help management to take corrective actions and policy makers may take into consideration the significance of macro-economic conditions while formulating policy regarding NPLs. Likewise, the study provides insight to potential investors to consider the findings while selecting better investment opportunity. The current study is the first of its kind focusing on the link among bank specific, macroeconomic variables, and non-performing loans within the specific context of an emerging economy, Pakistan.