This paper presents game-theoretic frameworks for demand response at both electricity market and consumer levels. First, the interaction between a demand response aggregator (DRA) and electricity generators is modeled as a Stackelberg game in which the DRA, as the leader of the game, makes demand reduction bids, and generators, as followers, compete for maximizing their profits based on the reduced demand. Next, the interaction between the DRA and consumers is modeled as a mechanism design problem wherein the DRA seeks to minimize the aggregate inconvenience of consumers while achieving the targeted load curtailment. The inconvenience function of each consumer is captured by a type value, which is used by the DRA to solve the load curtailment problem. A Vickrey-Clarke-Groves-based mechanism is proposed, which guarantees that each consumer reveals its true type value to the DRA. A case study of the Stackelberg game shows that, in the South Australian electricity market where there is significant renewable penetration, peak period demand response provides the maximum potential profit, but off-peak demand response even in a concentrated market is not financially attractive.