Heavy metal pollution in aquatic ecosystem is a matter of serious concern due to its toxicity, persistence, bio-accumulation and biomagnification along the food chain. Fish, being in the highest trophic level in an aquatic ecosystem, can be used as a bio-indicator of heavy metal contamination and pollution in a reservoir. In the present study, three popular fish species of India (Labeo rohita, Catla cadet and Cirrhinus mrigala) were used to evaluate the extent of heavy metal pollution in Halali reservoir of Madhya Pradesh, a central province of India. The average metal concentration of Cd, Cr, Cu, Ni, Pb and Zn in different tissues of these fishes varied between 0.02-0.06, 1.86-5.22, 1.11-11.35, 0.29-0.82, 0.17-0.41 and 43.26-63.72 mg kg(-1), respectively. In the present study, liver and gills, being the highest metal accumulating tissues, were the target organs, while muscles, the consumable part, accumulated the lowest quantity of metals. Cr, Zn, Pb and Cu had positive association with fish size, while Cd and Ni had the negative relation with it. Metal concentration in the muscles of fishes of Halali reservoir was found to be well within the permitted levels for human consumption, except for Cr, which showed a higher level in muscles too. Study showed that the concentration of heavy metals in fishes can vary not only due to their size but also to their metabolic rate and feeding behaviour.