Lady Helen hade seglat från Martin's Haven till den närbelägna Skomerön.
En majdag sändes ut och passagerarna förflyttades till räddningsfartyg efter det att båten börjat ta in vatten när hon bogserades tillbaka till fastlandet.
Milford Haven kustbevakning sa att alla 48 passagerare var "säkert i land utan skador".
Båtturer är populära till Skomer, en fristad för vilda djur och hem till kolonier med tusentals havsfåglar strax utanför Pembrokeshires kust.
Lady Helen var på väg från Martin's Haven till Skomer när hon sprang på grund på en sten vid Little Sound, sade kustbevakningen.
En majvarning utfärdades kl 12:55 BST och RNLI livbåtar från Angle och St David's var förvrängda, tillsammans med en Dyfed-Powys Polis revben och en RAF helikopter från Chivenor i Devon.
Syster båt Dale Princess lyckades dra Lady Helen av klippan med hjälp av en linje men hon började ta i vatten när de gick tillbaka till stranden.
Milford Haven Coastguard watch manager Barrie Yelland sade till BBC Wales: " Flera fartyg i området svarade också och gick till hjälp av Lady Helen.
"De började bogsera henne tillbaka till Martins Haven men tyvärr började hon sjunka och de bestämde sig för att flytta alla passagerare till de andra fartygen.
"Det är något vi försöker att inte göra om vi inte måste eftersom det finns en risk i att överföra människor till sjöss men det visade sig att det inte fanns något alternativ."
Alla 48 passagerare rapporterades vara i land utan skador.
"Alla har gjort ett utmärkt arbete med att genomföra denna räddning, inklusive alla de olika fartyg som svarade", sade Yelland.
"Särskilt tack måste också gå ut till båten Över Dale", sade vaktchefen.
En av de hjälpande passagerarna var dr Pauline Crossland, ombord på Over Dale.
"Vi var en grupp dykare som var på väg ut och en majsamtal släcktes", sade hon.
"Ett antal båtar var tvungna att gå till sin undsättning.
"Vi hade en hel del barn och äldre damer på vår båt. Barnen var till en början lite rädda. De sa att båten hade listat. Men när vi gav dem en Twix var de bra."
Lady Helen var strandad vid Martin's Haven och det finns tre bärgningspumpar ombord och hon drogs längre upp på stranden.
Sammanlagt 48 passagerare, däribland barn, har räddats från en båt efter att den träffat en klippa och var i fara att sjunka utanför Pembrokeshire.