Can you post the model number please.
I hope that the following will allow you to sort the problem
Bosch Exxell Auto Option
Maxx freedom performance
SGS56EO 2 GB/35
Ok thanks for that. The first to check which im sure you have already is the spray arm itself. Remove this and make sure all the holes are fully clear.
If that's all ok then you may find the heater is the fault on this. As in the heater is an diverter valve which diverts the water between the top spray arm and the bottom. Sometimes the valve in there can stick and it stops the water from going to the lower or upper arm depending were it sticks so you get this kind of fault were one basket isn't as clean as the other.
If you are handy at diy repairs you can try and remove the heater and strip the diverter valve in there and see if its jammed up with muck. If so try and free it off and see what happens. Other then that its a case of replacing it as that's what we do anyway.. But these are not the easyist things to access as you need to remove both side panels and then remove the complete metal tub from the base but undoing the screws inside the sump and on the 4 post in the base.
But from what you say its either a blocked spray arm or a fault with the diverter valve in the heater.