The visitors almost took an early lead through Darcy Blake, but he found home goalkeeper Jason Steele in good form.
Boro had an opportunity to edge their noses in front on seven minutes when Faris Haroun jumped high in the box, only to see his header come back off the post.
Tony Mowbray's men kept up their early pressure - with chances falling to Ishmael Miller, Adam Reach, and Zemmama - and it paid off on 40 minutes.
Hines leaped high in the area to connect with Grant Leadbitter's cross and give the home side a much-deserved lead going into the break.
The second half began much as the first ended. Boro came out swinging, and doubled their advantage through Zemmama shortly after the restart.
The Moroccan stepped up and hit the back of the net with a free kick after George Friend was fouled by Wilfried Zaha.
Palace pulled one back against the run of play when Josh McEachran brought down Jermaine Easter in the area. Easter got to his feet and buried the resulting spot kick for 2-1.
End-to-end action ensured as Kwesi Appiah was denied by Steele, before Friend put in a vital block to deny Zaha from grabbing an equaliser.
Boro continued to look like the better of the two sides, and remained in control until the final whistle to pick up all three points.