Mūsdienu Virbu pagasta teritorijā vēsturiski atradās Eņģeļu muiža (Gut Engelzeem, Eņģeļciems), Neivakenes muiža (Gut Neuwakken, Brūzis), Sknābes muiža (Gut Sknaben). Vēsturiskās Virbu (Gut Groß-Wirben) un Mazvirbu (Gut Klein-Wirben) muižas mūsdienās atrodas Abavas pagastā.
Pagasts (līdz 1925. gadam Jaunpagasta pagasts) izveidots 1870. vai 1880. gadā, apvienojot Lielvirbu, Mazvirbu, Rinkules, Štempeļmuižas, Eņģeļmuižas un Veģumuižu pagastus. 1935. gadā tā platība bija 96,5 km². 1945. gadā pagastā izveidoja Virbu un Jaunpagasta ciema padomes, bet pagastu 1949. gadā likvidēja. Virbu ciemu 1956. gadā pievienoja Sabiles pilsētai kā lauku teritoriju. 1974. gadā Jaunpagasta ciemam pievienoja Strazdes ciemu un pārdēvēja par Virbu ciemu. 1990. gadā ciemu reorganizēja par pagastu. 1992. gadā Strazdes pagasts atdalījās atsevišķā pašvaldībā.[4] 2009. gadā Virbu pagastu kā administratīvo teritoriju iekļāva Talsu novadā.