Portland struck first in the top-of-the-table clash when Rodney Wallace found the net in the 25th minute.
But Salt Lake turned it around with a Nat Borchers' equaliser in the 38th minute before Javier Morales scored from the penalty spot five minutes later.
Another penalty brought Portland level when Diego Valeri converted in the 56th minute and, after Salt Lake's Yordany Alvarez saw red for a foul on Diego Chara 11 minutes from time, Khalif Alhassan scored what looked to be the winner in the 86th minute.
But Grossman had other ideas, and his late goal keeps Salt Lake three points clear of Portland, having played two games more.
FC Dallas scored two late goals as they came from behind to beat Chivas USA 3-1, despite being reduced to 10 men.
Bryan de la Fuente had given hosts Chivas the lead two minutes before half-time, but Dallas turned things around after the break.
Blas Perez equalised in the 71st minute, and although Jackson collected a second yellow card in the 81st minute, David Ferreira and Ramon Nunez scored in the last five minutes to give Dallas the win.