Is it possible to Left-Align headers in a WPF TabControl?

You can define the horizontal alignment for all tab headers :

<TabControl...>
    <TabControl.ItemContainerStyle>
        <Style TargetType="{x:Type TabItem}">
            <Setter Property="HorizontalAlignment" Value="Left"/>
        </Style>
    </TabControl.ItemContainerStyle>
    ...
</TabControl>

What sort of Control are you using for the TabItem.Header property? If you are simply using a Label, are you specifying the width of the Label to some common value? If the Label is sizing to content then it will appear as you have shown. Try the following with a common width for the labels used to display the header text:

<TabControl TabStripPlacement="Left" >
    <TabItem>
        <TabItem.Header>
            <Label Width="100">test tab 1</Label>
        </TabItem.Header>
        <TabItem.Content>
            xyz
        </TabItem.Content>
    </TabItem>
    <TabItem>
        <TabItem.Header>
            <Label Width="100">test t2</Label>
        </TabItem.Header>
        <TabItem.Content>
            abc
        </TabItem.Content>
    </TabItem>
    <TabItem>
        <TabItem.Header>
            <Label Width="100">test tab three</Label>
        </TabItem.Header>
        <TabItem.Content>
            abc
        </TabItem.Content>
    </TabItem>
</TabControl>

The following will give you the look you are after.

    <TabControl TabStripPlacement="Left" HorizontalContentAlignment="Left" >
        <TabItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="Header 1">
            <TabItem.Content>Test</TabItem.Content>
        </TabItem>

        <TabItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="Header 2"  >
            <TabItem.Content>Test</TabItem.Content>
        </TabItem>

        <TabItem HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" Header="Header Longer Version">
            <TabItem.Content>Test</TabItem.Content>
        </TabItem>
    </TabControl>