According to the keras documentation:
predict_on_batch(self, x)
Returns predictions for a single batch of samples.
However, there does not
It seems predict_on_batch is a lot faster compared to predict if executed on a single batch.
In summary, predict method has extra operations to ensure a collection of batches are processed right, whereas, predict_on_batch is a lightweight alternative to predict that should be used on a single batch.