Camara gave Wigan the lead, superbly lifting the ball over Jussi Jaaskelainen after a terrible header from Bruno N'Gotty had played him in.
Ryan Taylor cleared a Kevin Davies header off the line before McCulloch scored with a drilled strike.
Radhi Jaidi's towering header pulled one back, while Stelios Giannakopoulos and El Hadji Diouf missed good chances.
It was a frustrating end for Bolton, who could have gone second in the table.
But Paul Jewell's Wigan now have 13 points from seven games and are comfortably in the top of half of the table as they continue to defy their critics.
The Latics, meeting neighbours Bolton for the first time in 12 years and unchanged from the team that beat Everton, started strongly in front of a vocal home crowd.
Camara burst forward inside a minute but pulled his shot wide, while Jaaskelainen comfortably saved Lee McCulloch's shot from 18 yards.
Jewell was forced into a change after Pascal Chimbonda failed to recover from scything tackle from behind by Kevin Davies.
The Latics continued to press forward, with Jason Roberts volleying just wide.
But after drawing Wigan's sting Bolton, with seven changes from the side that beat Lokomotiv Plovdiv in the Uefa Cup on Thursday, gradually began to assert themselves.
John Filan smothered Kevin Nolan's close-range effort after a long throw from Jay-Jay Okocha unsettled Wigan's defence.
Nolan hooked a floated pass just wide and Okocha, whose previous five goals have come from the penalty spot, missed from the edge of the area.
Wigan rallied before the break, Jimmy Bullard climbing well but heading weakly from a Camara cross and McCulloch wasting a good chance yards from goal, the ball skimming off his foot.
Camara showed his team-mates how to finish after the break, chipping the ball over Jaaskelainen after N'Gotty's awful defensive header gifted him the time and space to pick his spot.
Bolton, stung after conceding their first Premiership goal in four games, went on the attack.
And the visitors almost conjured an equaliser when Filan failed to claim a cross and Davies headed goalwards, but Taylor cleared.
Bolton's hopes of preserving their five-match Premiership unbeaten run deteriorated further when McCulloch's crisply struck right-foot strike nestled in the bottom corner of Jaaskelainen's goal.
Again Bolton had failed to clear their lines and Camara managed to find McCulloch 10 yards from goal.
But Bolton forced their way back into the contest, Jaidi converting substitute Giannakopoulos' teasing cross.
Sam Allardyce's team pushed forward but were almost caught out when Jaaskelainen failed to collect the ball on the edge of his area and Camara crossed to an unmarked Roberts, who headed wide.
Jaaskelainen then brilliantly saved a thunderous Damien Francis volley before Giannakopoulos and fellow Bolton substitute El Hadji Diouf both missed separate chances from close range at the far post.
"Bolton put the ball in the box with great quality and we had to defend for our lives. It the end I was glad to hear the final whistle.
"But we created some chances of our own. We have great pace with Henri Camara and Jason Roberts and that is one of our main assets."
"We should have kept it nice and tight, kept it at 0-0.
"If we had done that then the amount of chances we created might have brought us something more.
"After going 2-0 down we created a huge amount of chances but there was not enough quality finishing in their box."
Wigan: Filan, Chimbonda (Taylor 22), De Zeeuw, Henchoz, Baines, Bullard, Kavanagh, Francis, McCulloch, Roberts, Camara (Connolly 90).
Subs Not Used: McMillan, Jackson, Pollitt.
Goals: Camara 48, McCulloch 63.
Bolton: Jaaskelainen, Ben Haim, Jaidi, N'Gotty, Pedersen, Nolan, Okocha (Giannakopoulos 54), Speed, Nakata (Borgetti 84), Gardner (Diouf 57), Davies.
Subs Not Used: Walker, Faye.
Booked: Nakata, N'Gotty.
Goals: Jaidi 68.
Att: 20,553
Ref: A Wiley (Staffordshire).