Cristiano Ronaldo and Mesut Ozil got the goals which earn the Spanish giants a clash against either AC Milan or Chelsea at Miami's Sun Life Stadium on Wednesday.
Real took the lead in the 17th minute through Ronaldo, who rounded Everton goalkeeper Tim Howard and finished calmly.
Toffees midfielder Marouane Fellaini headed against a post, then defender Sylvain Distin saw a header ruled out for an infringement as Roberto Martinez's men sought an equaliser.
However, Carlo Ancelotti's team doubled their advantage when Ronaldo squared for Ozil to sidefoot home.
Nikica Jelavic was introduced for the second half and within seven minutes of his introduction the Croatian flicked goalwards from a Kevin Mirallas cross-shot - but goalkeeper Diego Lopez saved.
Jelavic did pull a goal back with a snapshot just past the hour mark - but Everton were unable to find an equaliser.
Roberto Martinez's men start their Barclays Premier League campaign at Norwich on August 17.