The Bluebirds suffered their first defeat in four pre-season matches, slipping 2-1 against Championship club Rotherham United in South Yorkshire.
City earned two thumping wins – 6-0 at Tavistock and 11-1 against Bodmin – before drawing 1-1 at Torquay United, but came up short against Rotherham.
The Millers are the best opposition Cardiff have played so far and the visitors produced a below par display.
More than 200 City fans travelled to the New York Stadium to watch their team play in an all-blue strip and will want to see a big improvement against Burton Albion on Saturday.
The brightest note of the evening was a heartening first team debut for James Waite, playing alongside Joe Ralls in midfield.
Manager Neil Warnock watched Waite in action during development team matches in the South West last week and was impressed by the tenacious, all-action midfield player.
Versatile teenager Waite can play anywhere across midfield or in attack, while he has good technical ability and an outstanding attitude.
He is small in stature, around 5ft 6ins tall, but that helps with balance and he is able to wrongfoot opponents with his movement and tricks.
Waite slotted into Warnock’s team seamlessly, linking with Ralls and Reid in particular, before being replaced by Aron Gunnarsson at half-time.
The Bluebirds set up in a 3-5-2 system with Jazz Richards and Joe Bennett filling the full-back roles either side of captain Sean Morrison, Bruno Manga and Greg Cunningham.
City looked reasonably fluent through the first 45 minutes and went ahead after 13 minutes when Josh Murphy netted.
Welsh goalkeeper Lewis Price failed to hold when Cunningham played the ball into Rotherham’s penalty area and Murphy was quickly onto the loose ball to score.
Championship club Rotherham equalised when midfield player Matt Palmer was allowed far too much space in the penalty area and headed in from a delightful Jon Taylor cross.
The half-time score was 1-1 and Warnock was able to reflect on the positives – particularly Waite’s debut – and negatives. He won’t have been at all impressed that Palmer was unmarked when he scored.
Kenneth Zohore, playing alongside Murphy in attack and marked by former Cardiff defender and man of the match Semi Ajayi, struggled to find space in attack and made way for substitute Gary Madine after an hour.
City made four changes for the second half, sending on Alex Smithies, Gunnarsson, Sol Bamba and Junior Hoilett and switched to a back four with Manga and Cunningham the full-backs.
Warnock used all nine substitutes named with Manga and Cunningham the two players completing 90 minutes.
The result was that City lacked the fluency they found in the first half and Rotherham were able to snatch a win.
The final City change came when Kadeem Harris took over from Bobby Reid and the winger looked sharp and dangerous during the final 20 minutes.
Harris opened up Rotherham’s back four with a lovely run and cross, but Madine’s header was saved.
City had loud penalty appeals turned down when Madine was fouled and the ball struck a defender’s hand when it bounced, but the referee waved play on.
Warnock had strong words with the fourth official and he seemed to have a strong point.
Moments later Rotherham took the lead when Michael Smith curled his shot past Smithies after more sloppy work at the back.
This was a reasonable pre-season performance by Cardiff, but they must minimise defensive lapses which have cost them goals in the last two friendlies.
Danny Ward was not in the City squad at Rotherham with Warnock’s coaching staff staying cautious after he was kicked on a knee at Torquay last Friday.
Rotherham United (4-4-2): Lewis Price (gk), Zak Vyner, Semi Ajayi, Richard Wood, Joe Mattock, Ryan Williams, Matty Palmer, Will Vaulks, Jon Taylor, Dominic Ball, Smith. Subs used: Marek Rodak (gk), Anthony Forde, Robertson, Ben Purrington, Kyle Vassell, Michael Ihiekwe, Joe Newell, Ben Wiles, Sean Raggett, Billy Jones.
Cardiff City (5-3-2, 4-4-2 second half): Neil Etheridge, gk (Alex Smithies 46), Jazz Richards (Sol Bamba 46), Sean Morrison, capt (Matt Connelly 66), Bruno Manga, Greg Cunningham, Joe Bennett (Junior Hoilett 46), James Waite (Aron Gunnarsson 46), Joe Ralls (Callum Paterson 62), Bobby Reid (Kadeem Harris 70), Josh Murphy (Nathaniel Mendez-Laing 62), Kenneth Zohore (Gary Madine 62). Sub not used: Kadeem Harris.
Attendance: 2,455.