Fernandinho opened the scoring with an eighth-minute penalty and also netted the fourth goal in the 56th minute, while Luiz Adriano and Tomas Hubschman also struck in the first half.
Shakhtar sent on Douglas Costa and he twice went close before Schwarzer pulled off a fine fingertip save to deny Fernandinho in stoppage time to preserve for Fulham the slenderest of advantages going into the second leg.