Fresh fighting in northern and eastern Sri Lanka left at least 21 rebels dead, while a ship believed to be carrying military hardware for the rebels was blown up off the southern coast of the country, a military spokesman said Wednesday.