Middlesbrough celebrate after Alves scores their opener
Afonso Alves' disputed penalty set Middlesbrough on their way to a hard-fought victory over Manchester City.
Boro keeper Ross Turnbull kept out shots by Stephen Ireland and Shaun Wright-Phillips as City threatened.
But the home side took the lead when Daniel Sturridge tangled with David Wheater and referee Lee Mason awarded a spot-kick that Alves converted.
City poured forward in search of an equaliser but Gary O'Neil's breakaway goal in injury time sealed Boro's win.
Both sides had something to prove going into this game - Boro after they were crushed 5-0 by Chelsea in their last home game and City on their first return to the Riverside since an 8-1 drubbing on the final day of last season.
After a scrappy start it was City who were quickest to settle and Robinho, looking to add to his tally of six goals in six league games since his £32m move from Real Madrid, was first to test Turnbull with a low shot from the edge of the area.
Southgate praises 'bold' victory
But Boro were also creating openings and, when Stewart Downing's deflected cross found its way to Alves, the Brazilian was unlucky to see his near-post header fly straight at City keeper Joe Hart.
By now, City's positive passing game was being matched by the willingness of Boro's wide-men to run at the visitors' defence but neither side could quite fashion a clear-cut chance.
It was only after half-time that the game really opened up, with City looking more likely to make the breakthrough.
Ireland had their first opportunity when he burst into the box but his shot was pushed away by Turnbull and the bouncing ball eluded Elano.
Turnbull made a superb stop to keep out Ireland's shot
Turnbull was Boro's saviour again soon after when Sturridge's clever back-heel set up Wright-Phillips - this time the keeper saving with his leg.
But just as City looked like they were taking the game by the scruff of the neck, a controversial decision by referee Lee Mason saw Boro take the lead after 53 minutes.
Sturridge had tracked back with Wheater and they went shoulder to shoulder as they chased a ball on the right-hand edge of the area..
The Boro man went down and Mason pointed to the spot, although replays suggested there had been minimal contact and Wheater was outside the box.
Alves took full advantage, slotting home his penalty into the corner of the net with cool precision, leaving City to chase the game.
They did so admirably, pushing men forward and trying to find a gap in Boro's massed defence.
But the home side held out and Turnbull was only tested from long range.
He did well to collect Tal Ben-Haim's bouncing shot and, although he could only push away Vincent Kompany's effort, Sturridge fired wildly wide from the rebound.
Penalty changed the game - Hughes
The closing stages followed the same pattern with City pressing but Boro looking dangerous on the break.
City kept throwing caution to the wind, however, and were punished when O'Neil made the most of a mistake by Robinho to gallop down the right and, after his cross was blocked by Nedum Onuoha, buried the loose ball into the roof of the net.
Boro boss Gareth Southgate will rightly be pleased with his side's response to being torn apart by Chelsea.
But City's inconsistency continues and Hughes will be concerned about their lack of cutting edge here, although it was the first time they have drawn a blank in the Premier League this season.
Middlesbrough boss Gareth Southgate:
"We deserved our victory. We were excellent throughout the team, when the defence was breached our goalkeeper Ross Turnbull was superb.
"We looked dangerous on the break too when they attacked in the second half.
"Against a very good side, we were bold and looked like we wanted the ball. We were positive and when you are positive you get your reward."
Manchester City boss Mark Hughes:
"I didn't think it was a penalty. Wheater was not in full control of the ball, he was outside the box and the linesman did not give it.
"The shape of the game changed - if we scored first, we would have won it.
"All night the referee took it upon himself to make decisions that were quite frankly disappointing."
Middlesbrough: Turnbull, Wheater, Riggott, Pogatetz, Taylor, Aliadiere, O'Neil, Digard (Arca 75), Downing (Adam Johnson 83), Sanli, Alves.
Subs Not Used: Jones, Emnes, John Johnson, Grounds, Walker.
Goals: Alves 53 pen, O'Neil 90.
Man City: Hart, Ben-Haim, Richards, Dunne, Onuoha, Kompany, Wright-Phillips, Ireland, Elano (Fernandes 67), Robinho, Sturridge (Evans 77).
Subs Not Used: Schmeichel, Jo, Garrido, Hamann, Berti.
Booked: Kompany, Ireland, Robinho.
Ref: Lee Mason (Lancashire).
BBC Sport Player Rater man of the match: Manchester City's Robinho 8.57 (on 90 minutes).
Please note that you can still give the players marks out of 10 on BBC Sport's Player Rater after the match has finished.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.