Ulykken skal ha skjedd ved halv nitiden søndag morgen i Giudecca-kanalen i Venezia, skriver den italienske avisa Il Gazzettino.
Bilder og filmer på sosiale medier viser hvordan cruiseskipet kom for nær kaia og kjørte rett på den lille turistbåten.
På videoene ser vi mennesker på kaia som løper vekk, når det enorme skipet nærmer seg i stor fart.
– Vi så hvordan cruiseskipet kjørte inn mot kaia, men så gikk noe veldig feil, sier den svenske turisten Preben Rose til Aftonbladet.
70 år gamle Rose er på ferie i Venezia og bor på et hotell rett ved havna.
– Cruiseskipet ligger nå inneklemt mellom den lille båten og kaia, sier Rose.
Noen turister skal ha falt i vannet under sammenstøtet, skriver Il Gazzettino.
Fire personer er lettere skadd, ifølge havnemyndighetene. Nasjonaliteten til de skadde er ikke kjent.
– Kjempeskjelven
Også svenske Sara Lundin som bor rett ved kanalen, var vitne til ulykken.
– Jeg våknet av utrolig høy tuting, forteller Lundin til Aftonbladet.
Hun sier at flere politibåter, ambulanser og redningsfolk nå er på stedet.
– Jeg ble enormt skjelven. Båten kom i ganske høy fart, forteller hun.
Motorproblemer var årsaken til at cruisebåten fikk problemerr, forteller Davide Calderan som er leder for slepebåtfirmaet, ifølge nyhetsbyrået AFP.
– Motoren låste seg og gikk fortere og fortere, forteller han. Deretter røk linen mellom cruiseskipet og taubåten, noe som skjedde i Giudecca-kanalen.
Cruiseskipet ble dermed presset mot kaia på grunn av de sterke strømmene i kanalen, skriver italienske medier.
– Cruiseskip må ikke seile i Giudecca-kanalen
Kollisjonen skaper ny debatt om store cruiseskip skal få gå inn i Venezia, skriver Il Gazzettino. Det har vært flere demonstrasjoner mot cruisetrafikken etter flere alvorlige hendelser med store cruiseskip i den sterkt trafikkerte lagunen.
– Cruiseskip må ikke seile i Giudecca-kanalen. Vi har prøvd å få dem fjernet derfra i flere måneder og vi nærmer oss en beslutning, skriver landets miljøvernminister Sergio Costa på Twitter.
Ifølge rederiet MSC cruises som er ansvarlig for driften av cruiseskipet MSC Opera, forlot skipet byen Bari tidligere på dagen.
Skipet kan ta opp til 2150 passasjerer og har en besetning på rundt 730 personer.
Europa ble nylig rystet av en tilsvarende ulykke da den norskeide elvecruisebåten Viking Sigyn kolliderte med en turistbåt i Budapest. Sju sørkoreanske turister er funnet omkommet, mens 21 fortsatt er savnet etter at turistbåten sank.