Minecraft wiki entry for Boat, associated text: Boats can be destroyed by explosions, fire and lava (but not magma blocks), cactus, and by being punched by mobs, such as Drowned. Boats made invulnerable with commands cannot be broken by any of these, however they still cannot be used to travel on lava because they sink.