Primeira Liga Wrap: Sporting's run halted
Marco Silva's men were chasing the game from early on against their in-form opponents, after Bakary Sare nodded in from close range in the 15th minute after a right-wing cross had been headed back across the area.
And they were 2-0 down before the break when Brazilian Mauricio desperately charged back to prevent Joao Afonso's 42nd-minute header crossing the line, only to divert the ball into his own net.
Although substitutes Diego Capel and Islam Slimani were introduced at the break, Sporting were unable to produce a comeback, and Andre Andre wrapped up the win with an 82nd-minute penalty after being brought down by Cedric Soares.
The result puts Guimaraes just two points behind of Primeira Liga pacesetters Benfica, while Sporting now sit a further four points adrift in fourth.
While Sporting's unbeaten run came to an end, Porto extended their own to nine league matches with a straightforward 2-0 win over visitors Nacional in the day's late kick-off.
Danilo got the hosts up and running after just nine minutes, slamming a shot home from a narrow angle following a good save from Nacional goalkeeper Rui Silva.
It took Porto until after the break to secure all three points but their second proved worth the wait, as Yacine Brahimi netted a stunning drive into the top corner after linking up with Ricardo Quaresma 16 minutes from time.
In the day's other clash, Estoril inflicted a third successive league defeat on struggling Penafiel with a 2-1 win, courtesy of goals from Emidio Rafael and Antonio Toze.