It happened at Tesco Express on Melrose Avenue when they noticed a man looking at them from inside the shop.
As the man left the shop, he approached the two boys and start using racist language. He then punched them both in the face.
Another man then grabbed hold of the suspect and pulled him away, this took place around 9pm on Saturday 23rd of March.
One of the boys sustained a broken nose and received treatment at Milton Keynes General Hospital. The other boy sustained cuts and bruises.
The offender is described as a white man in his thirties, approximately 5ft 9ins to 5ft 10ins tall, medium build with short blonde hair. He was wearing a blue jumper.
Investigating officer PC Martin O’Connor, based at Milton Keynes police station, said: “I am appealing for anyone who witnessed this incident or who has any information that could help with this investigation to come forward.
“I would particularly like to speak to the member of the public who intervened as I believe he will be able to provide vital information about this incident. He is a white man, approximately 5ft 8ins to 5ft 10ins tall and of a stocky build. He was wearing a baseball cap and shorts.
“You can get in touch by calling 101, quoting reference number 43190089133. Alternatively, you can contact Crimestoppers anonymously on 0800 555 111.
“If you think you are being treated differently because of your race, religion, transgender identity, sexual orientation or disability tell someone. Hate crimes will not be tolerated, if you suspect it, report it.”