This is a large kingfisher, 27–28 cm (10.6–11.0 in) in length. The adult has a bright blue back, wings and tail. Its head, shoulders, flanks and lower belly are chestnut, and the throat and breast are white. The large bill and legs are bright red. The flight of the white-throated kingfisher is rapid and direct, the short rounded wings whirring. In flight, large white patches are visible on the blue and black wings. Sexes are similar, but juveniles are a duller version of the adult.
This species forms a superspecies with Halcyon cyanoventris and most major works recognize four geographic races. They vary clinally in size, the shades of blue on the mantle which is more greenish in smyrnensis and fusca and more blue or purplish in saturatior. H. s. gularis of the Philippines has only the neck and throat white. It is sometimes treated as a distinct species, H. gularis. Race fusca is found in Peninsular India and Sri Lanka and is slightly smaller, bluer and with a darker brown underside than the nominate race found in northwestern India. Race saturatior is found in the Andaman Islands and is larger with darker brown underparts. Race perpulchra (not always recognized) is found in northeastern India and is smaller than fusca with paler underparts. Albinism has been noted on occasion.
The English of white-throated was introduced since the range is large and geographic adjectives would make the name too restrictive, while the older name of white-breasted would not describe the eastern race which has only the throat white.
The call of this kingfisher is a chuckling chake-ake-ake-ake-ake. They are particularly noisy in the breeding season.