The Spain international has not featured since suffering a thigh injury against Anderlecht in the UEFA Champions League back in November.
Javi Martinez also took part in the full session, after spraining his ankle five days ago.
Thomas Muller sustained a thigh problem in Wednesday's (AEDT) 6-0 DFB-Pokal thrashing of Paderborn and was substituted, so the Germany forward carried out some aqua jogging in the pool on Thursday.
Jerome Boateng missed the Paderborn game due to a stomach bug, and did individual work ahead of Sunday's clash at home to Schalke.
"We're playing well and scoring lots of goals. We need to carry on that way," said Corentin Tolisso, who replaced Muller in the Pokal win.
"We have important games coming up, starting on Saturday against Schalke. We have big challenges ahead and we're ready for them."