The annual variations in physicochemical parameters, algal abundance and odorous compounds in the Xionghe Reservoir were investigated, in order to identify the possible odorous compounds and their origins. From May 2007 to April 2008, the algal composition, cell number and earthy-musty odorous compounds both in the water and in the flesh of fish at Sites A, B and C were determined monthly. The physicochemical parameters such as total nitrogen (TN), total phosphorus (TP), dissolved oxygen (DO), pH, transparency, water temperature and chlorophyll a (chl a) were simultaneously determined. A statistical correlation was noted between the chl a and water temperature: 0.678 (P<0.05) for Site A, 0.831 (P<0.01) for Site B and 0.659 (P<0.05) for Site C. Geosmin and 2-methylisoborneol (2-MIB)—in the reservoir were identified by gas chromatography-mass spectrometry (GC-MS). We observed that a large amount of Anabaena circinalis bloomed in surface water during the off-flavour episodes. In July 2007, we detected the highest concentration of geosmin (2.7 μg/L in the water, 0.27 μg/kg in the silver carp and 0.10 μg/kg in the crucian carp), while no 2-MIB was detected, which indicated that geosmin was mainly responsible for the off-flavour episodes in summer.