Oil spill contamination in the open sea has been at the origin of some of the worst environmental disasters. One of the major cleaning techniques is the use of skimmer ships that contain various pumps distributed along its waterline to suck the oil from the surface of the water directly into storage units. We want to improve this process. We developed a model to simulate the effect of the skimmer ship on the evolution of the oil spill. This model, based on a finite volume approximation of an advection-diffusion-reaction equation, considers: the motion of oil spots resulting from the movement of the source of contamination; the diffusion and transport by wind and sea currents; and the phenomena associated with the action of the skimmer ship, assuming that it follows a pre-assigned trajectory. We introduce a nonlinear diffusion term to obtain finite speed diffusion. Also, we use an absorbing boundary condition, to account for the oil exiting the computational domain. To reduce numerical artificial diffusion, we use second order numerical schemes to discretize the advection terms. We also apply splitting schemes to decrease the computational complexity. To improve the whole process, we optimize the trajectory of a skimmer ship to maximize the amount of recovered oil during a fixed period of time, using an optimization method. The novel approach we advocate here is validated by comparing our numerical results with real life measurements from the Prestige spill, which took place in Spain in 2002. We were able to reproduce the satellite image of the spot after 4 days of pollution. We also prove that the optimal trajectory we get cleans the area near the coast up to 55 percent before the Prestige ship broke up. This percentage was improved to 88 percent by using a second ship on the entire area.