The family was attacked on Saturday night on a regional train between Münchehofe and Strausberg in east Berlin.
Three men in their twenties were talking loudly while sitting next to the family.
The 29-year-old father asked them to make less noise and they began punching him in the head.
When his wife, 32, tried to stop them she was punched in the chest. Her son was also attacked and both suffered bruises.
The father suffered a cut eye and bruises.
When the train arrived at Strausberg station at 9.10pm, the three men fled.
Police put out an appeal to find the men on Monday and published their photos on Wednesday. Later on Wednesday three handed themselves in.
The family were on their way back to Treptow from visiting the boy’s grandparents in Poland.
SEE ALSO: U-Bahn sex pair shock commuters