Embolo, who arrived at Schalke from Basel in 2016, endured an injury-hit time at the club and managed only 48 Bundesliga games across his three seasons there.
The 22-year-old scored 10 league goals during that time but will now aim to impress at Monchengladbach, which recently lost Embolo's Switzerland team-mate Josip Drmic on a free transfer to Norwich City.
"We've known Breel Embolo for a number of years and continued to track him during his time at Schalke," Gladbach sporting director Max Eberl said.
"He's had a lot of misfortune with injuries in recent years and obviously we had to take a really close look at his physical condition.
"We're in no doubt we can offer him a fresh start and that he'll bring us a lot of joy. He's quick, strong and a goal threat - and is a great fit for our squad."
Embolo becomes Monchengladbach's third signing of the close season after the arrivals of right-back Stefan Lainer and Max Grun.
He could have an early chance to face his old club, with Monchengladbach to host Schalke in its opening Bundesliga fixture.