Task Scheduling is crucial facet in cloud paradigm as virtual resources need to be provisioned to the variable requests coming onto cloud console from various users and more over that tasks are depends on each other which creates a workflow which is a difficult task for cloud service provider to provision these tasks over appropriate VMs. Inefficient mapping of tasks to VMs increases makespan and lead to violation of SLA between users, cloud provider. In this paper, we modeled a SLA based workflow scheduling algorithm focuses on minimization of makespan and SLA violations. This algorithm developed using Harris hawks optimization. Experimentation carried out using workflowsim. Random workload fed as input to algorithm and it is evaluated against existing baseline approaches and simulation results revealed that our proposed approach minimizes makespan and SLA violations over existing approaches by 40% and 43% respectively.