<?xml version="1.0" encoding="utf-8"?>
<InstanceReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Version>2.0.0.10</Version>
  <hasSegments>false</hasSegments>
  <ReportName>Major acquisitions and disposals</ReportName>
  <ReportLongName>0205 - Disclosure - Major acquisitions and disposals</ReportLongName>
  <DisplayLabelColumn>true</DisplayLabelColumn>
  <ShowElementNames>false</ShowElementNames>
  <RoundingOption />
  <HasEmbeddedReports>false</HasEmbeddedReports>
  <Columns>
    <Column>
      <LabelColumn>false</LabelColumn>
      <Id>1</Id>
      <Labels>
        <Label Id="1" Label="3 Months Ended" />
        <Label Id="2" Label="Mar. 31, 2010" />
      </Labels>
      <CurrencyCode>usd</CurrencyCode>
      <CurrencySymbol>$</CurrencySymbol>
      <FootnoteIndexer />
      <hasSegments>false</hasSegments>
      <hasScenarios>false</hasScenarios>
      <Segments />
      <Scenarios />
      <Units>
        <Unit>
          <UnitID>USD</UnitID>
          <UnitType>Standard</UnitType>
          <StandardMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </StandardMeasure>
          <Scale>0</Scale>
        </Unit>
        <Unit>
          <UnitID>USDEPS</UnitID>
          <UnitType>Divide</UnitType>
          <NumeratorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/iso4217</MeasureSchema>
            <MeasureValue>USD</MeasureValue>
            <MeasureNamespace>iso4217</MeasureNamespace>
          </NumeratorMeasure>
          <DenominatorMeasure>
            <MeasureSchema>http://www.xbrl.org/2003/instance</MeasureSchema>
            <MeasureValue>shares</MeasureValue>
            <MeasureNamespace>xbrli</MeasureNamespace>
          </DenominatorMeasure>
          <Scale>0</Scale>
        </Unit>
      </Units>
    </Column>
  </Columns>
  <Rows>
    <Row>
      <Id>2</Id>
      <Label>Major acquisitions and disposals [Abstract]</Label>
      <Level>0</Level>
      <ElementName>vale_MajorAcquisitionsAndDisposalsAbstract</ElementName>
      <ElementPrefix>vale</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>string</ElementDataType>
      <ShortDefinition>Major acquisitions and disposals.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>true</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole />
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText />
          <NonNumericTextHeader />
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDefenition>Major acquisitions and disposals.</ElementDefenition>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
    <Row>
      <Id>3</Id>
      <Label>Major acquisitions and disposals</Label>
      <Level>1</Level>
      <ElementName>vale_MajorAcquisitionsAndDispositionsTextBlock</ElementName>
      <ElementPrefix>vale</ElementPrefix>
      <IsBaseElement>false</IsBaseElement>
      <BalanceType>na</BalanceType>
      <PeriodType>duration</PeriodType>
      <ElementDataType>string</ElementDataType>
      <ShortDefinition>Represent the business acquisitions and disposals made by the Company in the period.</ShortDefinition>
      <IsReportTitle>false</IsReportTitle>
      <IsSegmentTitle>false</IsSegmentTitle>
      <IsSubReportEnd>false</IsSubReportEnd>
      <IsCalendarTitle>false</IsCalendarTitle>
      <IsTuple>false</IsTuple>
      <IsAbstractGroupTitle>false</IsAbstractGroupTitle>
      <IsEquityPrevioslyReportedAsRow>false</IsEquityPrevioslyReportedAsRow>
      <IsEquityAdjustmentRow>false</IsEquityAdjustmentRow>
      <IsBeginningBalance>false</IsBeginningBalance>
      <IsEndingBalance>false</IsEndingBalance>
      <IsReverseSign>false</IsReverseSign>
      <PreferredLabelRole>verboselabel</PreferredLabelRole>
      <IsEPS>false</IsEPS>
      <FootnoteIndexer />
      <Cells>
        <Cell>
          <Id>1</Id>
          <ShowCurrencySymbol>false</ShowCurrencySymbol>
          <IsNumeric>false</IsNumeric>
          <IsRatio>false</IsRatio>
          <DisplayZeroAsNone>false</DisplayZeroAsNone>
          <NumericAmount>0</NumericAmount>
          <RoundedNumericAmount>0</RoundedNumericAmount>
          <NonNumbericText>
    &lt;!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" --&gt;
    &lt;!-- Begin Block Tagged Note 5 - vale:MajorAcquisitionsAndDispositionsTextBlock--&gt;
    &lt;div style="font-family: Helvetica,Arial,sans-serif"&gt;
    &lt;div style="margin-top: 6pt"&gt;
    &lt;table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; text-align: left"&gt;
    &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
    &lt;td width="3%" nowrap="nowrap" align="left"&gt;&lt;b&gt;5&lt;/b&gt;&lt;/td&gt;
    &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
    &lt;td&gt;&lt;b&gt;Major acquisitions and disposals&lt;/b&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;/table&gt;
    &lt;/div&gt;
    &lt;div style="margin-top: 6pt"&gt;
    &lt;table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; text-align: left"&gt;
    &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
    &lt;td width="3%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
    &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
    &lt;td&gt;In line with our strategy to become a leading global player in the fertilizer business,
    during 2010 we entered into purchase agreements to acquire fertilizer assets in Brazil from
    Bunge Participa&amp;#231;&amp;#245;es e investimentos S.A. (Bunge). Among these assets are phosphate rock mines
    and phosphates assets, and a 78,9% stake in the equity capital of Fertilizantes Fosfatados S.A.
    &amp;#8212; Fosfertil (Fosfertil) formerly owned by Bunge, Fertif&amp;#243;s, Heringer, Fertipar, Yara and Mosaic.
    The total amount to be paid is US$5,660. The transaction is still subject to the approval of
    governmental regulatory agencies. Control over these business have not been obtained when these
    financial statements were approved to be issued.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;/table&gt;
    &lt;/div&gt;
    &lt;div style="margin-top: 6pt"&gt;
    &lt;table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; text-align: left"&gt;
    &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
    &lt;td width="3%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
    &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
    &lt;td&gt;We entered into agreements to sell a minority stake of the Bay&amp;#243;var Project with Mosaic Company
    (Mosaic) and Mitsui &amp;#038; Co. Ltd. (Mitsui), for US$660. The capital amount invested as at December
    31, 2009 was approximately US $400. Actual closing of the transaction remains subject to the
    parties&amp;#8217; finalization of the definitive stockholders&amp;#8217; agreement and commercial off take
    agreements, certain governmental regulatory approvals and other customary closing conditions.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;/table&gt;
    &lt;/div&gt;
    &lt;div style="margin-top: 6pt"&gt;
    &lt;table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size: 10pt; text-align: left"&gt;
    &lt;tr valign="top" style="font-size: 10pt; color: #000000; background: transparent"&gt;
    &lt;td width="3%" nowrap="nowrap" align="left"&gt;&amp;#160;&lt;/td&gt;
    &lt;td width="1%"&gt;&amp;#160;&lt;/td&gt;
    &lt;td&gt;As part of our portfolio management, we have entered into negotiations with the intention to
    sell our net assets linked to kaolin activity. We have measured these assets at fair value, and
    recognized on first quarter results, an estimated loss in an amount of US$145, which was
    classified as discontinued operations in the income statement.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;/table&gt;
    &lt;/div&gt;
    &lt;/div&gt;
  </NonNumbericText>
          <NonNumericTextHeader>&lt;!--DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" --&gt;
    &lt;!-- Begin Block Tagged Note</NonNumericTextHeader>
          <FootnoteIndexer />
          <hasSegments>false</hasSegments>
          <hasScenarios>false</hasScenarios>
          <DisplayDateInUSFormat>false</DisplayDateInUSFormat>
        </Cell>
      </Cells>
      <OriginalInstanceReportColumns />
      <ElementDefenition>Represent the business acquisitions and disposals made by the Company in the period.</ElementDefenition>
      <ElementReferences>No authoritative reference available.</ElementReferences>
      <IsTotalLabel>false</IsTotalLabel>
    </Row>
  </Rows>
  <Footnotes />
  <ComparabilityReport>false</ComparabilityReport>
  <NumberOfCols>1</NumberOfCols>
  <NumberOfRows>2</NumberOfRows>
  <HasScenarios>false</HasScenarios>
  <MonetaryRoundingLevel>UnKnown</MonetaryRoundingLevel>
  <SharesRoundingLevel>UnKnown</SharesRoundingLevel>
  <PerShareRoundingLevel>UnKnown</PerShareRoundingLevel>
  <HasPureData>false</HasPureData>
  <SharesShouldBeRounded>true</SharesShouldBeRounded>
</InstanceReport>
