Diesel has spilled along five kilometres of State Highway 6 near Nelson.
The spill is from Haven Road to Whakatu Drive in Richmond on the southbound side of the road, police say.
Police are aware of two non-injury accidents on the road since the spill, and motorists are urged to avoid the area.
Traffic is now being diverted through Stoke.
The Fire Service and council contractors are working to clean up the road.
The source of the spill is still being established.