Hines headed in the opening goal five minutes before half-time – and a Merouane Zemmama strike in the 51st minute helped Boro bag a second successive Championship victory.
Palace made it a contest with a 55th-minute penalty from Jermaine Easter, but it proved to be another disappointing day for Dougie Freedman and his men, who have now lost the first three games of a league campaign for the first time in 39 years.
Boro boss Tony Mowbray made four changes from the side that had chalked up a 3-2 win over Burnley in midweek, with 25-year-old striker Ishmael Miller making his debut after arriving on a one-year loan deal from Nottingham Forest.
And Miller was one of a number of Middlesbrough players who peppered Julian Speroni’s goal with long-range efforts in the first half.
The home side almost opened the scoring after just seven minutes when Faris Haroun’s back-post header from Julian Hoyte’s deep cross came back off the woodwork.
Miller then drove in a right-footed shot from the edge of the penalty area that was blocked by Peter Ramage.
Palace tried to respond and after 15 minutes Jermaine Easter sent a 25-yarder over the crossbar.
But Middlesbrough were in the driving seat, with on-loan Chelsea starlet Josh McEachran and Grant Leadbitter controlling midfield, and it needed the brilliance of Speroni to keep the Eagles in the hunt as he superbly tipped over a 20-yard drive from Haroun.
But Boro finally broke the deadlock five minutes before half-time. Speroni excelled again by pushing an Adam Reach screamer over the top, but Hines headed home Leadbitter’s corner from six yards.
Middlesbrough extended their lead six minutes into the second half. Zaha brought down George Friend on the edge of the box and Zemmama sent a free-kick into the bottom corner.
Haroun almost added a third two minutes later but his shot was again well saved by Speroni.
Palace were much improved in the second period and gave themselves a fighting chance when a bad foul by McEachran on Easter resulted in a 55th minute penalty – and Easter dusted himself down before blasting the spot-kick down the middle.
Substitute Andre Moritz then tried his luck from the edge of the penalty area but Boro keeper Jason Steele was alert to the danger and made a good stop.
With time running out, Steele pulled off a brilliant last-ditch save to deny Zaha an equaliser.