Ribeiro finished Cristian Maidana's cross in the 71st minute to break a 1-all tie for the Union (10-11-12). Ribeiro was unmarked in front of the goal as three Sporting KC defenders converged on Maidana near the right side of the 18-yard box.
Ribeiro entered as a substitute in the 69th minute for Brown, who opened the scoring in the 45th minute. Brown cut behind the defense and poked Maidana's cross into the right corner of the net.
Dominic Dwyer converted a penalty kick in the 54th minute for his 22nd goal of the win. The loss eliminates Sporting KC (14-12-7) from the top two spots in the Eastern Conference.