Grassi began his career at youth teams of Parma, before making his professional debut in Slovenia, ending an 11-year stay with Parma. In the 2007/08 season, Grassi played for Mérida UD.
Grassi had a successful trial with Scottish Premier League club Aberdeen and was offered a one-year deal. He made his debut against Motherwell in August having come on as a substitute. During a Scottish League Cup match against Dundee on 24 September 2009, he suffered a triple cheekbone fracture. Grassi was released from Aberdeen on 1 July 2010.
Since leaving Aberdeen, Grassi signed for Sorrento Calcio in July 2010 but left Sorrento, having made three appearance.
On 31 January 2011, he was signed by Serie B side Triestina. However, Grassi left Triestina, having made no appearance.
Shortly after leaving Triestina, Grassi joined Belgian side Brussels, whose team in Second Division in Belgian League . Grassi made his debut for the club, on the opening game of the season on 17 August 2011, in a 1–1 draw against Oostende; two-month later on 15 October 2011, he scored his first goal in a 4–0 win over Wetteren but however, he received a red card. Eventually, Grassi played the next game after winning appeal, allowing him to play the next game. It couldn't get worse for Grassi on the next game on 23 October 2011 when Grassi scored an own goal in a 2–2 draw against Lommel United. At Brussels, Grassi made 33 appearance, established himself in the first team.
He signed for Scottish Premier League side Dundee on 2 August 2012, subject to international clearance. He made his debut for the club in a 2–0 loss against St Mirren on 11 August 2012. Grassi would suffered a knee injury, having an operation, and resulted him out for six weeks Manager Barry Smith says he is not rushing for Grassi return from injury Eventually, Grassi made his return from injury in a 3–0 loss against Hibernian on 6 October 2012. After another appearance, Grassi once again suffered an injury after undergoing knee surgery again, resulted him out for two months. In February, Grassi made a recovery from injury and back in training. Later in the season, Dundee would soon suffer relegation to Scottish Championship and Grassi would be released by the club, making thirteen appearance in total.
After leaving Dundee, Grassi moved to Cyprus by joining Aris Limassol, subject to a medical. One year later, he signed for VfL Osnabrück.
On Deadline Day 2017 Grassi announced a transfer to a top Italian restaurant in Aberdeen where he played for a short time. He said "I am delighted to finally be going somewhere where I may be half useful as I'm practically useless as a defender. I'm buzzing to be at Bella Itallia and hope I can clean better than I Can defend."