The hosts started well but after a Chris Eagles goal against the run of play, they struggled to get themselves back into the game.
Cardiff could have been ahead after just one minute, but Jordon Mutch was denied what looked like a certain goal, thanks to a reflex save from Adam Bogdan.
Kim Bo-Kyung started to see more and more of the ball for the home team, but could only manage a couple of long-range efforts which didn't really test the Bolton goalkeeper.
Bolton almost doubled their lead shortly after but this time Marshall was able to save Darren Pratley's low shot at the back post, after good work on the right from Eagles.
Craig Bellamy managed a couple of surging runs on the right before half time, but Bolton were able to deal with the threat and the sides went in level at the break.