Nile perch (Lates niloticus), a main target for Lake Victoria's fisheries, shifts its diet from invertebrates to fish during its ontogeny. We combined stomach contents with stable isotopes to study these diet shifts in Mwanza Gulf, southern Lake Victoria. During four seasons between 2009 and 2011 we collected and analysed 6697 stomachs and 516 stable isotope samples of Nile perch. Caridina shrimp and haplochromine cichlids were the major food items in Nile perch of 5–40 cm. Based on stomach contents, the shift of dominance of Caridina towards haplochromines in the diet varied from 6.7 cm length in the southern part of the gulf, to >20 cm in the northern part, possibly related to the higher abundance of Caridina in the north. In general isotope-based and stomach-content-based estimates of Nile perch diets agreed. We observed only two discrepancies: in Nile perch >20 cm, the isotope-based estimates of the contribution of haplochromines to the diet were much lower than based on stomach contents and the contribution of juvenile Nile perch to the diet were much higher in the isotope-based estimates than in the stomach based-based estimates. This discrepancy may be explained by e.g. different timespan-coverages between isotopes and stomach contents, by movements of Nile perch between the Gulf and the rest of Lake Victoria, or by the overlapping isotopic profiles of haplochromines and juvenile Nile perch. With the recent recovery of haplochromines in Lake Victoria, Nile perch appears to rely more on this prey again, as it did in the 1980s.