Pique was sent off in the 25th minute for a wild challenge on Rafa Lopez. Marquez walked at the end after bundling over Kepa for a last-minute penalty scored by Roberto Soldado but the game was effectively over by then.
Lionel Messi opened the scoring in the seventh minute and Xavi netted in the 67th as Barca continued to create the clearer chances despite their numerical disadvantage.
“You only manage this with commitment, a great deal of belief and by running a lot. The players have been marvellous,” Barca coach Pep Guardiola said.
“We played a very good game and it was one of the best performances we’ve put in.”
The unbeaten champions moved on to 55 points from 21 games, and remained five ahead of second-placed Real, who comfortably swept aside Espanyol.