Barcelona's week went from bad to worse as they lost to Granada, while Real Madrid cruised past Almeria.