A Kevin Lisbie brace ended Leyton Orient's four-match losing streak as they saw off struggling Shrewsbury.
The Shrews, without an away league win this season, fell behind when Jeremy Helan fouled Moses Odubajo in the box and Lisbie converted from the spot.
The visitors looked to be set for a point though when Jon Taylor finished an excellent move from close range.
However Lisbie stole the points on his first start in eight matches with a close-range header in the 88th minute.
VIEWS FROM THE DRESSING ROOM
Leyton Orient boss Russell Slade told BBC London 94.9:
"It's been long awaited and I couldn't even look at the penalty. It's been tough.
"The fans don't think it's tough on the manager but it is.
"Shrewbury came back at us but we still kept going. Kevin Lisbie was the difference once again for us."
Shrewsbury Town manager Graham Turner told BBC Radio Shropshire:
"It's difficult to accept the result today, and it hurts to see the league table.
"No-one is going to give us anything at the moment - the penalty changed the mood and the crowd reacted to that.
"To concede from a corner the way we did is upsetting."
Leyton Orient 16 Allsopp 03 Sawyer 04 Chorley 15 Clarke 11 Smith (Cox - 79' ) 17 Odubajo 21 Cook Booked (Wagstaff - 84' ) 22 Rowlands 23 James 09 Lisbie 39 Mooney (Brunt - 69' ) Substitutes 01 Jones 06 Baudry 02 McSweeney 07 Cox 08 Griffith 27 Wagstaff 26 Brunt Shrewsbury Town 01 Weale 02 Grandison 05 Jones 28 Bennett 04 Summerfield 06 Purdie 08 Richards 11 Taylor Booked 26 Helan (Parry - 68' ) 10 Morgan 29 Rodgers Substitutes 25 Anyon 15 Collins 07 Wright 14 Hall 17 Parry 20 Wildig 27 Proctor
Ref: Carl Berry