The hosts dominated proceedings from the outset and had a number of good goalscoring opportunities through striker Jozy Altidore, but the visitors only needed one chance as Pajtim Kasami headed home from a corner in the second half.
Paolo Di Canio was without suspended duo Craig Gardner and David Vaughan for the opening fixture, while Steven Fletcher was forced to miss out with the ankle injury that ended his previous campaign in March.
But the Italian coach was able to hand debuts to five of his 10 summer signings, including striker Altidore, Emanuele Giaccherini and Cabral.
Meanwhile, Alexander Kacaniklic was the only notable absentee for Martin Jol, after he picked up a hamstring injury during July’s 1-0 pre-season defeat to Werder Bremen.
USA international Altidore looked dangerous from the outset and caused a number of problems for Fulham debutant Derek Boateng, who picked up an early yellow card after a string of fouls.
Cabral also made a bright start to the game and looked to impress the Sunderland fans with some long-range efforts, with his second shot flying a few inches wide of the post in the 25th minute.
Sunderland created the most chances during the opening exchanges and, after Altidore went close to connecting with a Jack Colback cross in the six-yard box, the hosts really started to test Maarten Stekelenburg.
Giaccherini fired a powerful 25-yard effort straight at the Fulham goalkeeper, before Ondrej Celustka forced Stekelenburg into a brilliant finger-tip save with a fierce half-volley from distance.
The hosts could not convert their dominance into goals, however, as the sides headed in at the break goalless.
And Sunderland were made to pay for their wastefulness as Fulham went on to score from their first real chance of the game after the interval.
Kasami towered above Valentin Roberge at the back post to nod home a corner from Damien Duff in the 53rd minute, claiming his first Fulham goal since joining from Palermo in 2011.
But the hosts rallied after going behind and both Adam Johnson and Altidore continued to cause problems for the Fulham backline.
Altidore produced an excellent turn on the edge of the area but dragged his effort wide, before failing to convert Giaccherini's deflected shot from close range in the 75th minute.
The striker injured Stekelenburg's shoulder in the process and the goalkeeper had to be replaced by David Stockdale, which ruled out a late debut for Aston Villa loanee Darren Bent.
Sunderland desperately tried to find an equaliser during the closing stages and substitute Ji Dong-Won went extremely close with a header from a brilliant Johnson cross.
But despite five minutes of injury time, Di Canio's men failed to find the net and suffered defeat on the first day of the new season.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.