Sri Lankan troops and Tamil Tiger rebels have fought fierce land battles after government forces said they sunk two ships carrying weapons for the guerrillas, officials said Monday.