Bjoafjorden er en sidefjord til Halsnøyfjorden og Hardangerfjordenfylkesgrænsen mellem Vestland og Rogaland i kommunerne Kvinnherad, Vindafjord og Etne i Norge. Fjorden har indløb i nord mellem Jonasvoll yderst på Tittelsnes i Sveio og Askeneset på Fjelbergøya i Kvinnherad. Herfra går fjorden 15 km sydøstover på sydvestsiden af Fjellbergøya.

Solstrejf over Bjoafjorden 2008

Syd for Fjelbergøya går det lille fjordstykke Melen østover og fortsætter frem som Skånevikfjorden. I sydøst deler Bjoafjorden sig i to grene, Etnefjorden mod øst og Ølsfjorden mod syd. Fra indløbet af Bjoafjorden til bunden af Etnefjorden ved Etne er længden 24 km.

Lige nord for indløbet til disse to fjorde ligger tre øer. Romsa er den største af disse og ligger længst mod nord. På den anden side af Romsasundet ligger Glopsøya og helt mod syd ligger Tolløya. På østsiden af disse øer bliver sundet og kaldt Romsasundet, mens sundet på vestsiden af øerne hedder Haugessundet efter bygden Haugsgjerd som ligger her.

Vest for Haugsgjerd, på sydsiden af Bjoafjorden, ligger de to bygdene Innbjoa og Utbjoa. Fra Utbjoa er der færgeforbindelse over Bjoafjorden til Fjelberg på Fjelbergøya i Kvinnherad og videre til Sundnes på Halsnøy. Der går også færge til SkjersholmeneStord. 59°40′N 5°41′Ø / 59.667°N 5.683°Ø / 59.667; 5.683