Ryan Taylor returned from injury to get Bristol City's Championship season going as Crystal Palace fell to a second straight defeat.
Taylor, who missed the start of the season with an ankle problem, struck before Martyn Woolford got a second.
Jon Stead added a penalty, and Albert Adomah made it four after Kagisho Dikgacoi had pulled one back.
Earlier, Bristol City completed the signing of striker Sam Baldock from West Ham on a three-year contract.
Baldock was paraded before the Ashton Gate crowd at half-time, but may find it hard to get into the starting line-up on this evidence.
Stead had already hit the post when he set up fellow striker Taylor to hammer in the first goal.
Palace were hit by a second only three minutes later, when Woolford finished with his left foot from 12 yards out.
Stead could have scored before half-time, but Palace keeper Julian Speroni blocked his close-range effort with his feet.
The former Blackburn and Sunderland striker did score from the penalty spot just before the hour mark after Jonathan Parr's foul.
Dikgacoi struck to reduce the deficit after good work from Owen Garvan and Aaron Wilbraham but Adomah thumped in a goal from 25 yards to end any hopes of a Palace comeback.
Bristol City manager Derek McInnes told BBC Radio Bristol:
"I think the performance was terrific from start to finish and we made our intentions clear from the outset.
"The quality of the goals were good as well and we could have scored more.
"Ryan (Taylor) has had a good pre-season and it was always said we would go with a more physical presence in this game.
"I thought he was terrific and he should be really pleased with his performance. He'll take a lot of confidence from that."
Live Text Commentary
Full Time The referee blows for the end of the match.90:00 +3:16
Foul by Marvin Elliott on Mile Jedinak, free kick awarded. Peter Ramage takes the free kick.87:50
Short corner taken by Albert Adomah.86:51
Corner from the right by-line taken by Albert Adomah, clearance by Aaron Martin.86:51 Substitution
Substitution Jody Morris is brought on as a substitute for Stephen Pearson.86:51
Marvin Elliott takes a shot. Jonathan Parr gets a block in.83:52
Greg Cunningham takes the direct free kick.83:52 Substitution
Substitution Steve Davies joins the action as a substitute, replacing Ryan Taylor.83:52
Unfair challenge on Martyn Woolford by Wilfried Zaha results in a free kick.81:10 Goal scored
Goal! - Albert Adomah - Bristol C 4 - 1 C Palace Albert Adomah grabs a goal from outside the penalty box to the bottom left corner of the goal. Bristol City 4-1 Crystal Palace.80:06
Mile Jedinak takes a shot. Save by Tom Heaton. Joel Ward takes a short corner.78:25 Substitution
Substitution Marvin Elliott comes on in place of Jon Stead.77:37
Wilfried Zaha gives away a free kick for an unfair challenge on Greg Cunningham. Tom Heaton takes the free kick.76:30 Substitution
Substitution Kyle De Silva joins the action as a substitute, replacing Kagisho Dikgacoi.75:18
Corner taken by Albert Adomah from the left by-line, Louis Carey has a headed effort from close range and clears the crossbar.73:54
Aaron Wilbraham provided the assist for the goal.73:54 Goal scored
Goal! - Kagisho Dikgacoi - Bristol C 3 - 1 C Palace Kagisho Dikgacoi finds the back of the net with a headed goal from inside the six-yard box. Bristol City 3-1 Crystal Palace.73:37
A cross is delivered by Wilfried Zaha,70:03
Wilfried Zaha takes a shot. Save made by Tom Heaton.66:45
Long distance shot from Albert Adomah misses to the left of the goal.
Greg Cunningham sends in a cross, Header from close range by Ryan Taylor clears the bar.65:02
Albert Adomah decides to take a short corner.63:19
Aaron Martin gives away a free kick for an unfair challenge on Ryan Taylor. Richard Foster takes the direct free kick.62:55
Jon Stead challenges Joel Ward unfairly and gives away a free kick. Joel Ward takes the direct free kick.58:51 Substitution
Substitution Kwesi Appiah comes on in place of Dean Moxey.58:24 Goal scored
Goal! - Jon Stead - Bristol C 3 - 0 C Palace Jon Stead scores a power penalty. Bristol City 3-0 Crystal Palace.57:11
Jon Stead fouled by Jonathan Parr, the ref awards a Penalty.56:11
The official flags Aaron Wilbraham offside. Cole Skuse takes the indirect free kick.55:28
Aaron Martin takes the direct free kick.55:28 Booking
Booking Louis Carey is given a yellow card.55:15
Free kick awarded for a foul by Louis Carey on Aaron Wilbraham.54:52
Ryan Taylor fouled by Mile Jedinak, the ref awards a free kick. Direct free kick taken by Stephen Pearson.50:56
Greg Cunningham fouled by Kagisho Dikgacoi, the ref awards a free kick. Free kick taken by Liam Fontaine.50:09
Effort from a long way out by Aaron Wilbraham goes wide right of the goal.49:26
Louis Carey challenges Aaron Martin unfairly and gives away a free kick. Free kick taken by Owen Garvan.48:26
Effort on goal by Joel Ward from just inside the penalty box goes harmlessly over the target.45:01
The game restarts for the second half.45:00 +2:19 Half time
Half Time The referee calls an end to the first half.45:00 +1:15
The referee blows for offside against Wilfried Zaha. Indirect free kick taken by Tom Heaton.44:50
Jon Stead concedes a free kick for a foul on Mile Jedinak. Julian Speroni takes the free kick.43:25
Martyn Woolford fouled by Aaron Wilbraham, the ref awards a free kick. Direct free kick taken by Liam Fontaine.42:11
Aaron Wilbraham is caught offside. Indirect free kick taken by Tom Heaton.38:49
Tom Heaton restarts play with the free kick.38:49 Booking
Booking Booking for Kagisho Dikgacoi for unsporting behaviour.38:38
Unfair challenge on Greg Cunningham by Kagisho Dikgacoi results in a free kick.35:47
Unfair challenge on Wilfried Zaha by Liam Fontaine results in a free kick. Owen Garvan crosses the ball, Close range header by Mile Jedinak goes over the bar.34:50
Free kick awarded for a foul by Albert Adomah on Kagisho Dikgacoi. Mile Jedinak takes the free kick.34:21
Jon Stead takes a shot. Save by Julian Speroni.33:33
Free kick crossed right-footed by Richard Foster, clearance by Kagisho Dikgacoi.33:33 Booking
Booking The referee shows Dean Moxey a yellow card.33:21
Dean Moxey challenges Albert Adomah unfairly and gives away a free kick.32:34
The assistant referee flags for offside against Wilfried Zaha. Free kick taken by Tom Heaton.31:39
Jon Stead has an effort at goal from close in which goes wide right of the goal.29:41
Unfair challenge on Louis Carey by Kagisho Dikgacoi results in a free kick. Tom Heaton takes the free kick.27:30
Cole Skuse takes a inswinging corner from the left by-line played to the near post, save by Julian Speroni.26:43
The ball is delivered by Martyn Woolford, Ryan Taylor takes a shot.25:58
Direct free kick taken by Dean Moxey.25:58 Booking
Booking Richard Foster receives a yellow card for unsporting behaviour.25:49
Richard Foster gives away a free kick for an unfair challenge on Wilfried Zaha.22:38
Long range effort from Cole Skuse misses to the left of the goal.20:38
Cole Skuse challenges Mile Jedinak unfairly and gives away a free kick. Julian Speroni restarts play with the free kick.18:56
Wilfried Zaha gives away a free kick for an unfair challenge on Albert Adomah. Louis Carey restarts play with the free kick.18:29
Free kick awarded for a foul by Ryan Taylor on Aaron Martin. Peter Ramage restarts play with the free kick.17:13
Wilfried Zaha fouled by Stephen Pearson, the ref awards a free kick. Mile Jedinak takes the free kick.14:22
Albert Adomah sends in a cross, clearance made by Aaron Martin. Corner taken by Greg Cunningham from the right by-line played to the near post, Kagisho Dikgacoi manages to make a clearance.11:48 Goal scored
Goal! - Martyn Woolford - Bristol C 2 - 0 C Palace Martyn Woolford gets on the score sheet with a goal from inside the box high into the middle of the goal. Bristol City 2-0 Crystal Palace.11:14
Free kick awarded for a foul by Louis Carey on Wilfried Zaha. The free kick is swung in left-footed by Owen Garvan, clearance made by Stephen Pearson.8:47
Jon Stead provided the assist for the goal.8:47 Goal scored
Goal! - Ryan Taylor - Bristol C 1 - 0 C Palace Ryan Taylor finds the back of the net with a goal from inside the box low into the middle of the goal. Bristol City 1-0 Crystal Palace.7:17
Martyn Woolford takes a shot. Kagisho Dikgacoi gets a block in. Short corner taken by Albert Adomah. The ball is swung over by Albert Adomah, Jon Stead takes a shot.4:35
Wilfried Zaha takes a shot. Save by Tom Heaton.4:06
Unfair challenge on Cole Skuse by Kagisho Dikgacoi results in a free kick. Free kick taken by Liam Fontaine.1:29
Outswinging corner taken from the left by-line by Owen Garvan, clearance by Cole Skuse.0:00
The ref blows the whistle to begin the match.
Live data and text provided by our data suppliers