Broedt in kolonieverband, heeft 1-2 legsels per jaar met elk 4-5 (soms 2-6) eieren. Eileg van half mei tot begin augustus. Broedduur 13-16 dagen. Het nest wordt gemetseld van klei en zand, met een kleinere opening dan de nesten van de boerenzwaluw. De jongen zitten 23-30 dagen op het nest. Soms langer bij slecht weer of een groot broedsel.
De huiszwaluw eet verschillende vliegende insecten (vooral muggen), die meestal op grotere hoogte worden gevangen dan waarop de boerenzwaluw jaagt.