Smart grid (SG) provides observable energy distribution where utility and consumers are enabled to control and monitor their production , consumption, and pricing in almost, real time. Due to increase in the number of smart devices complexity of SG increases. To overcome these problems, this paper proposes cloud-fog based SG paradigm. The proposed model comprises three layers: cloud layer, fog layer, and end user layer. The 1st layer consists of the cluster of buildings. The renewable energy source is installed in each building so that buildings become self-sustainable with respect to the generation and consumption. The second layer is fog layer which manages the user's requests, network resources and acts as a middle layer between end users and cloud. Fog creates virtual machines to process multiple users request simultaneously, which increases the overall performance of the communication system. MG is connected with the fogs to fulfill the energy requirement of users. The top layer is cloud layer. All the fogs are connected with a central cloud. Cloud provides services to end users by itself or through the fog. For efficient allocation of fog resources, artificial bee colony (ABC) load balancing algorithm is proposed. Finally, simulation is done to compare the performance of ABC with three other load balancing algorithms, particle swarm optimization (PSO), round robin (RR) and throttled. While considering the proposed scenario, results of these algorithms are compared and it is concluded that performance of ABC is better than RR, PSO and throttled.