The hosts took the lead when De la Torre (pictured) capped his driving run with a powerful strike into the top corner on 34 minutes.
Fulham would have to wait until the 84th minute for their second, which came when Carvalho smashed his effort in off the crossbar.
Despite ending a run of four straight defeats, Fulham remain in 11th with 17 points. Aston Villa drop to sixth on 22 points.
See: Fulham report