If it helps the latest delivery of diesel for my heritage railway cost 70.8p per litre including 5% VAT, Id imagine because of quantities concerned a TOC would be paying much less than that. Id imagine that 21 p/kwh is also very much on the high side, Im averaging less than that (obviously not for traction!).This thread has spurred me on to attempt to do some Calculations to work out the Energy Cost per Passenger Mile on the Railways for different types of trains.
According to data I found from the ORR, Class 390s, on average, consume about 29KWh/Mile. Let's assume that the trains are at capacity, which for a 9-Car 390 I think is 469 seats. So that works out to about 0.0618 KWh/Passenger Mile. Apparently, and correct me if I'm wrong, but TOCs pay £0.21/KWh for traction electricity. Giving us a rough total of £0.013/Passenger Mile.
Using similar data for the Class 379s, we find they average at about 17KWh/Mile and have a capacity of 209 seats. Again working this out with cost of electricity it comes to a total of about £0.017/Passenger Mile.
Finally, I thought I would investigate the costs for DMUs. According to a post on this site a single car of a Class 156 will use about 6mpg. This converts to 0.76 Litres of Diesel/Mile. Assuming a single car has 75 seats this equates to about 0.01 Litres/Passenger Mile. It seems quite hard to work out how much the TOCs pay for Diesel, but I think an upper bound would be around 80 pence/Litre. All together then £0.008/Passenger Mile.
This came as a bit of a shock to me as I assumed Electric traction would be much cheaper, and is a bit concerning. Delving a bit deeper it seems to me that this is due to old DMUs having less performance than EMUs so are using less energy and the railways being able to get Diesel much cheaper than Electricity (which is also true for the public).