The leghaemoglobins have oxygen affinities 11 to 24 times higher than that of sperm whale myoglobin, due mainly to higher rates of association. To find out why, we have determined the structures of deoxy- and oxy-leghaemoglobin II of the lupin at 1.7 A resolution. Results confirm the general features found in previous X-ray analyses of this protein. The unique feature that has now emerged is the rotational freedom of the proximal histidine. In deoxy-leghaemoglobin the imidazole oscillates between two alternative orientations, eclipsing either the lines N1-N3 or N2-N4 of the porphyrin; in oxy-leghaemoglobin it is fixed in a staggered orientation. The iron atom moves from a position 0.30 A from the plane of the pyrrole nitrogen atoms in deoxy- to a position in the plane in oxy-leghaemoglobin while the Fe-<N> bond distance remains constant at 2.02 A. The Fe-O-O angle is 152 degrees, as in human haemoglobin. The oxygen is hydrogen-bonded to the distal histidine at N epsilon 2-O1 and N epsilon 2-O2 distance of 2.95 A and 2.68 A, respectively. The porphyrin is ruffled equally in deoxy- and oxy-leghaemoglobins, due to rotations of the pyrrols about the N-Fe-N bonds, causing the methine bridges to deviate by up to 0.32 A from the mean porphyrin plane. The only feature capable of accounting for the high on-rate of the reaction with oxygen are the mobilities of the proximal histidine and distal histidine residues in deoxy-leghaemoglobin. The eclipsed positions of the proximal histidine in deoxy-leghaemoglobin maximize steric hindrance with the porphyrin nitrogen atoms and minimize pi-->p electron donation, while its staggered position in oxy-leghaemoglobin reverses both these effects. Together with the oscillation of the imidazole between the two orientations, these two factors may reduce the activation energy for the reaction of leghaemoglobin with oxygen. The distal histidine is in a fixed position in the haem pocket in the crystal, but must be swinging in and out of the pocket at a high rate in solution to allow the oxygen to enter.