Cardiff improved their United Rugby Championship (URC) play-off hopes with victory in a compelling Welsh derby against Ospreys at the Arms Park.
The victory lifted the Blue and Blacks to fourth in the table with their rivals for a top-eight finish – and a place in the play-offs – all playing on Saturday.
Cardiff scored tries through lock Rory Thornton, captain Liam Belcher and flanker Dan Thomas while Callum Sheedy kicked nine points.
Ospreys wing Daniel Kasende was shown a 20-minute red card in the first half for dangerous play.
There were further yellow cards for centre Owen Watkin and fly-half Dan Edwards as Ospreys played almost half the game with fewer than 15 players on the field.
Cardiff duo Belcher and lock McNally were also shown yellow cards in a match that was rarely 15 against 15.
Ospreys centre Keiran Williams scored a first-half try, while late scores from full-back Jack Walsh and Edwards set up a dramatic finale, but Cardiff clung on.