The share of private and NGO schools in primary education has substantially increased over time, though the public sector is still a major player in this area. The present study analyses the factors determining the quality of education offered by the three types of schools and draws policy recommendations for improving primary education in Pakistan. The study compares learning achievement of Class 4 students enrolled in 50 public, private, and NGO schools located across six districts of Pakistan and in Azad Kashmir in terms of their scores in Mathematics, Urdu, and General Knowledge tests. The analysis shows that, practically, there is no gap between public and NGO schools in terms of the test scores of their students. However, a significant test score gap was found between the students enrolled in public and private schools. This gap was largely explained by family background and school-related variables, including teachers’ qualification and student/teacher ratio. However, the performance of private schools was not uniform across districts. In some districts public schools performed even better than private and NGO schools. The findings of this study highlight the need for improving the quality of education in public schools by recruiting more qualified teachers and improving overall supervision. Teacher training is the area where the public and private sectors can benefit by pooling their resources and expertise.