Millwall's perfect start to the season continued thanks to a 1-0 victory secured by Martyn Woolford's 12th-minute tap-in, but Fulham will be wondering how they are still pointless after two games of the new season.
They dominated this London derby for long periods, especially after £11m summer signing Ross McCormack came on as a substitute at half-time. But they could not find a way past a stubborn Millwall defence, in which captain Alan Dunne and goalkeeper David Forde were outstanding.
Fulham manager Felix Magath had initially put McCormack on the bench after claiming that the former Leeds striker was not fully fit. Hugo Rodallega returned, one of four changes following the 2-1 opening-day defeat away to Ipswich.
Millwall were unchanged from their victory over Leeds and settled better early on but it was Fulham who got in the first shot of the match, George Williams firing wide after capitalising on the visitors' failure to clear. .
Williams also had a shot blocked by Millwall captain Alan Dunne after good work by Emerson Hyndman but it was the Lions who took the lead in the 12th minute.
There seemed little danger as Ricardo Fuller crossed from the left, but Fulham captain Scott Parker's attempt to head clear only flicked the ball away from his stranded goalkeeper, Jesse Joronen, and into the path of Woolford, who scored with ease.
Bulgarian defender Nikolay Bodurov headed wide from Konstantinos Stafylidis' corner as Fulham looked for a reply. The energetic young home side often had Millwall at full stretch as they played short passes at speed but defenders produced a series of blocks to deny the hosts. And left back Scott Malone, forward in support of a quick break, almost scored a second goal for Millwall with a dipping volley after 36 minutes that Joronen did well to palm over the crossbar.
Two minutes later Forde did just as well to flick away a header by Fulham's Cameron Burgess that was looping in. And he was relieved when Parker's shot from 25 yards sailed over his head but also over the bar.
Magath sent on McCormack after the interval and he almost created the equaliser in the 47th minute, his pass giving Hugo Rodallega the chance to send Forde sprawling to save a low shot. But Joronen had to rescue his team again in the 57th minute, blocking Malone's shot with his right foot after Scott McDonald had created the opening.
Just before the hour, Parker slipped a pass to McCormack that seemed to have provided his first goal for Fulham. But Forde was equal to the shot although Fulham, galvanised by McCormack, were getting closer. Rodallega's shot on the turn beat Forde but Dunne cleared the ball from the goalline. And then Forde blocked again from McCormack after he had bustled past Mark Beevers.